paint-brush
Desarrollo de VisionOS: consejos y trucos para crear aplicaciones Apple Vision Proby@dvaluev
17,180
17,180

Desarrollo de VisionOS: consejos y trucos para crear aplicaciones Apple Vision Pro

Dmitrii Valuev4m2024/04/15
Read on Terminal Reader

Vision Pro es una nueva versión del sistema operativo de realidad virtual de Apple. Permite a los usuarios interactuar con su mundo virtual de una manera más inmersiva. A continuación se ofrecen algunos consejos y trucos que le ayudarán a crear su propia aplicación. Utilice estos consejos para hacer que su aplicación sea significativamente diferente del resto de VisionOS.
featured image - Desarrollo de VisionOS: consejos y trucos para crear aplicaciones Apple Vision Pro
Dmitrii Valuev HackerNoon profile picture
0-item
1-item
2-item
3-item


Recientemente, Apple lanzó Vision Pro y tuve la suerte de convertirme en un orgulloso propietario. Desde entonces, he estado profundamente involucrado en el desarrollo de mi aplicación y en la exploración de varias aplicaciones y tendencias dentro de Vision Pro App Store.


Una cosa que me llamó la atención es que cada día salen nuevas aplicaciones, pero solo unas pocas encajan bien con la experiencia inmersiva de realidad virtual. Supongo que muchos desarrolladores tienen dificultades para encontrar documentación y ejemplos de las funciones de Vision Pro. Sin embargo, utilizar las capacidades de Vision Pro puede diferenciar su aplicación y brindar a los usuarios una experiencia mejorada.


En este artículo, compartiré algunos consejos y trucos que descubrí mientras elaboraba mi aplicación. Estos consejos no solo ayudarán a que su aplicación se destaque, sino que también garantizarán su integración perfecta y su sensación nativa dentro de VisionOS.


Efecto de entorno oscuro

Estoy seguro de que has notado que al ver un video o una foto, el fondo detrás de la ventana se oscurece, en la configuración se llama "atenuación automática". Para obtener el mismo efecto, necesita usar .preferredSurroundingsEffect(.systemDark) en su vista y luego el espacio alrededor del usuario se oscurecerá y su ventana permanecerá brillante, esto ayudará a mantener el enfoque en el contenido.


SistemaEfecto oscuro


Línea de controles de ventana oculta

Al visualizar un vídeo o contenido se desea que el usuario no tenga distracciones y cree el efecto de una ventana flotando en el aire, para ello Apple nos ha dado la posibilidad de ocultar la barra inferior de la ventana que sirve para moverla o cerrarla. la ventana actual. Con .persistentSystemOverlays(.hidden) puedes ocultar esta barra de control en tu ventana, desaparecerá con la animación predeterminada y solo aparecerá cuando el usuario interactúe con la ventana.


Barra de ventana oculta

Efecto de reflexión de vídeo

Si abres la aplicación estándar de Apple TV y enciendes una película, notarás que la ventana de la película tiene un reflejo que cambia con cada cuadro, brindando un efecto más inmersivo. Para obtener un efecto de brillo alrededor de su video, debe usar VideoPlayerComponent y habilitar isPassthroughTintingEnabled , luego el efecto será el mismo que en Apple TV o HBO Max. Esto es lo que dice la documentación:


Esto es para habilitar el teñido de paso durante la reproducción de video que aparece alrededor del video tomando el color promedio del cuadro y teñiendo el paso con ese color para enfatizar el video.


Efecto de reflexión

Cambiar el tamaño de la ventana

Es posible que desee evitar que el usuario cambie el tamaño de la ventana; existe una manera de hacerlo:

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


También puede especificar configuraciones de tamaño adicionales en este método. La firma completa del método se ve así:

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


Visibilidad de las manos

Si su aplicación utiliza un espacio inmersivo y no desea que el usuario vea sus manos, o desea reemplazarlas con manos virtuales, como se hace en AmazeVR, entonces necesita usar .upperLimbVisibility(.hidden)


.upperLimbVisibility(.oculto)


.upperLimbVisibilidad(.visible)


Ornamento

Estoy seguro de que has visto barras laterales en aplicaciones de VisionOS que se parecen TabBars . Apple ha introducido un nuevo método View para VisionOS que le permite "expandir" la ventana y agregar adornos a ambos lados de la misma.


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


Adorno inferior

Ubicación central

Un hecho interesante que pude verificar experimentalmente es que los métodos de CMMotionManager solo funcionan en un espacio inmersivo y no en la vista de ventana normal.


Conclusión

VisionOS proporciona muchas herramientas para crear aplicaciones inmersivas que llevan a los usuarios al mundo virtual y los hacen sentir parte de él. Si bien cada vez se lanzan más aplicaciones para Vision Pro, solo unas pocas utilizan toda su gama de funciones. Ahí es donde entra tu oportunidad de distinguirte: úsalas y aprovecha. Desafortunadamente, los desarrolladores tienen dificultades para encontrar documentación y ejemplos de fácil acceso. Por eso estoy escribiendo este artículo. Espero que mis consejos te ayuden a mejorar tu aplicación.