paint-brush
Développement VisionOS : trucs et astuces pour créer des applications Apple Vision Propar@dvaluev
2,720 lectures
2,720 lectures

Développement VisionOS : trucs et astuces pour créer des applications Apple Vision Pro

par Dmitrii Valuev4m2024/04/15
Read on Terminal Reader

Trop long; Pour lire

Vision Pro est une nouvelle version du système d'exploitation de réalité virtuelle d'Apple. Il permet aux utilisateurs d'interagir avec leur monde virtuel de manière plus immersive. Voici quelques trucs et astuces pour vous aider à créer votre propre candidature. Utilisez ces conseils pour rendre votre application sensiblement différente du reste de VisionOS.
featured image - Développement VisionOS : trucs et astuces pour créer des applications Apple Vision Pro
Dmitrii Valuev HackerNoon profile picture
0-item
1-item
2-item
3-item


Récemment, Apple a lancé le Vision Pro et j'ai eu la chance d'en devenir l'heureux propriétaire. Depuis lors, j'ai été profondément engagé dans le développement de mon application et dans l'exploration de diverses applications et tendances au sein de l'App Store Vision Pro.


Une chose qui a retenu mon attention est que de nouvelles applications sortent chaque jour, mais seules quelques-unes s'adaptent bien à l'expérience immersive de réalité virtuelle. Je suppose que de nombreux développeurs ont du mal à trouver de la documentation et des exemples sur les fonctionnalités de Vision Pro. Cependant, l'utilisation des capacités de Vision Pro peut distinguer votre application et offrir aux utilisateurs une expérience améliorée.


Dans cet article, je partagerai quelques trucs et astuces que j'ai découverts lors de la création de ma candidature. Ces conseils aideront non seulement votre application à se démarquer, mais garantiront également son intégration transparente et sa sensation native dans VisionOS.


Effet d'environnement sombre

Je suis sûr que vous avez remarqué que lors du visionnage d'une vidéo ou d'une photo, l'arrière-plan derrière la fenêtre est assombri, dans les paramètres, cela s'appelle "auto-gradation". Pour obtenir le même effet, vous devez utiliser .preferredSurroundingsEffect(.systemDark) sur votre vue, puis l'espace autour de l'utilisateur s'assombrira et votre fenêtre restera lumineuse, cela aidera à rester concentré sur le contenu.


Effet SystemDark


Ligne de contrôles de fenêtre masquée

Lors de la visualisation d'une vidéo ou d'un contenu, vous souhaitez que l'utilisateur ne soit pas distrait et crée l'effet d'une fenêtre flottant dans les airs, pour cela Apple nous a donné la possibilité de masquer la barre inférieure de la fenêtre utilisée pour se déplacer ou se fermer. la fenêtre actuelle. Avec .persistentSystemOverlays(.hidden) vous pouvez masquer cette barre de contrôle sur votre fenêtre, elle disparaîtra avec l'animation par défaut et n'apparaîtra que lorsque l'utilisateur interagit avec la fenêtre.


Barre de fenêtre cachée

Effet de réflexion vidéo

Si vous ouvrez l'application Apple TV standard et allumez un film, vous remarquerez que la fenêtre du film a un reflet qui change à chaque image, donnant un effet plus immersif. Pour obtenir un effet lumineux autour de votre vidéo, vous devez utiliser VideoPlayerComponent et activer isPassthroughTintingEnabled , l'effet sera alors le même que dans Apple TV ou HBO Max. Voici ce que dit la documentation :


Il s'agit d'activer la teinte pass-through pendant la lecture vidéo qui apparaît autour de la vidéo en prenant la couleur moyenne de l'image et en teintant le pass-through avec cette couleur pour mettre en valeur la vidéo.


Effet de réflexion

Redimensionnement de la fenêtre

Vous souhaiterez peut-être empêcher l'utilisateur de redimensionner la fenêtre, il existe un moyen de le faire :

 onAppear { guard let windowScene = UIApplication.shared.connectedScenes.first as?UIWindowScene else { return } windowScene.requestGeometryUpdate(.Vision(resizingRestrictions: UIWindowScene.ResizingRestrictions.none)) }


Vous pouvez également spécifier des paramètres de taille supplémentaires dans cette méthode. La signature complète de la méthode ressemble à ceci :

 windowScene.requestGeometryUpdate(.Vision(size:, minimumSize:, maximumSize:, resizingRestrictions:))


Visibilité des mains

Si votre application utilise un espace immersif et que vous ne voulez pas que l'utilisateur voie ses mains, ou que vous souhaitez les remplacer par des mains virtuelles, comme cela se fait dans AmazeVR, alors vous devez utiliser .upperLimbVisibility(.hidden)


.upperLimbVisibility(.hidden)


.upperLimbVisibility(.visible)


Ornement

Je suis sûr que vous avez vu des barres latérales dans les applications VisionOS qui ressemblent à TabBars . Apple a introduit une nouvelle méthode View pour VisionOS qui vous permet « d'agrandir » la fenêtre et d'ajouter des ornements de chaque côté de celle-ci.


 .ornament( visibility: .visible, attachmentAnchor: .scene(.bottom), contentAlignment: .center ) { HStack { Button("Play", systemImage: "play.fill") { } Button("Stop", systemImage: "stop.fill") { } } .labelStyle(.iconOnly) .padding(.all) .glassBackgroundEffect() } 


Ornement inférieur

Emplacement principal

Un fait intéressant que j'ai pu vérifier expérimentalement est que les méthodes de CMMotionManager ne fonctionnent que dans un espace immersif et non dans la vue normale de la fenêtre.


Conclusion

VisionOS fournit de nombreux outils pour créer des applications immersives qui amènent les utilisateurs dans le monde virtuel et leur donnent le sentiment d'en faire partie. Alors que de plus en plus d'applications sont publiées pour Vision Pro, seules quelques-unes utilisent toute sa gamme de fonctionnalités. C'est là qu'intervient votre chance de vous distinguer : utilisez-les et profitez-en. Malheureusement, les développeurs ont du mal à trouver une documentation et des exemples facilement accessibles. C'est pourquoi j'écris cet article. J'espère que mes conseils vous aideront à améliorer votre candidature.