Demo

Cómo agregar compatibilidad con VR a su proyecto Universal Render Pipeline

RYAN CASSELL Software Quality Engineer
Jun 14, 2023|15 minutos
Cómo agregar compatibilidad con VR a su proyecto Universal Render Pipeline
Para tu comodidad, tradujimos esta página mediante traducción automática. No podemos garantizar la precisión ni la confiabilidad del contenido traducido. Si tienes alguna duda sobre la precisión del contenido traducido, consulta la versión oficial en inglés de la página web.

Una ventaja de desarrollar títulos de Unity creados en Universal Render Pipeline (URP) es que son compatibles con una amplia variedad de plataformas con cambios mínimos en la configuración de renderizado. Su proyecto puede ejecutarse en cualquier plataforma, desde dispositivos móviles hasta consolas, PC e incluso VR.

Para aquellos que no han desarrollado para VR antes, puede resultar abrumador saber por dónde empezar. Ya sea que recién esté comenzando su proyecto o tenga un proyecto URP existente que haya publicado en otras plataformas, repasaremos los pasos para agregar soporte de VR para que pueda ejecutarse en múltiples plataformas de VR con un mínimo esfuerzo.

Agregar los paquetes correctos

Una cosa que todo proyecto VR Unity necesita es el paquete de gestión de complementos XR . Este paquete facilita la configuración de tu proyecto para las plataformas de VR para las que deseas construir, desde Meta Quest y Magic Leap hasta PlayStation®VR2 (PS VR2).

Otro paquete útil es el XR Interaction (XRI) Toolkit. Este paquete reduce el tiempo de configuración al proporcionar prefabricados que implementan opciones de movimiento comunes en la mayoría de los títulos de VR, como teletransportación, giros rápidos y más. Lea más sobre las opciones que ofrece el paquete XRI en este blog.

Para agregar estos paquetes a su proyecto, abra el menú Ventana y haga clic en Administrador de paquetes. En la ventana del Administrador de paquetes, haga clic en “Paquetes: En el proyecto” para expandir las opciones, luego haga clic en la opción “Registro de Unity” para que el Administrador de paquetes enumere todos los paquetes disponibles.

Unity admite muchos paquetes, así que escriba “xr” en la barra de búsqueda de la ventana del Administrador de paquetes para filtrar la lista de modo que solo se muestren los paquetes específicos de XR. A continuación, haga clic en el paquete XR Plug-in Management y luego elija el botón Instalar para agregarlo a su proyecto. Siga el mismo proceso para el paquete XRI Toolkit para agregarlo también.

En la ventana del Administrador de paquetes, haga clic en el botón Instalar para instalar el paquete de administración de complementos XR.

A continuación, agreguemos los activos de muestra proporcionados por el equipo de XRI para ayudarlo a comenzar. Haga clic en el paquete XR Interaction Toolkit en el Administrador de paquetes, luego en la pestaña Muestras en el panel de detalles del paquete. Luego, haga clic en el botón Importar junto a Activos iniciales para agregar activos que agilizarán la configuración de los comportamientos de VR y las acciones de entrada.

En la ventana Administrador de paquetes, haga clic en la pestaña Muestras del paquete XR Interaction Toolkit, luego haga clic en el botón Importar debajo de Activos iniciales para agregar estos activos a su proyecto.

Con estos paquetes instalados, ya estás más de la mitad del camino hacia el desarrollo para VR.

Habilitar la compatibilidad con VR para plataformas específicas en su proyecto

A continuación, debes especificar a qué plataformas de realidad virtual quieres dirigirte. Para hacer eso, abra la Configuración del proyecto y haga clic en la pestaña Administración de complementos XR (que se incluyó cuando instaló el paquete) para ver la lista de proveedores de complementos disponibles que puede seleccionar para su proyecto. Proveedores de complementos es otro nombre para las plataformas de realidad virtual. Seleccione una opción, como Oculus o Open XR, y Unity instalará los paquetes específicos para esa plataforma.

En la ventana Administración de complementos XR, seleccione las plataformas a las que desea dirigirse en el panel Proveedores de complementos.

Algunas plataformas XR utilizan el destino de compilación de Windows, Mac y Linux en la configuración de compilación, pero otras se ejecutan en destinos diferentes. Por ejemplo, para compilar para PS VR2 es necesario cambiar el destino de compilación a PlayStation®5 (PS5), mientras que para otros es necesario cambiar a Android o iOS. Asegúrate de cambiar al destino de compilación correcto mientras estás desarrollando para que puedas detectar cualquier error y advertencia importante de forma temprana. Ten en cuenta que para desarrollar juegos para PS5, debes registrarte como desarrollador de PlayStation.

Cada complemento XR proporciona controles de validación para garantizar que su proyecto esté configurado correctamente para compilar para XR. Para encontrarlos, vaya a la ventana Configuración del proyecto, luego haga clic en la pestaña Validación del proyecto debajo de la pestaña Administración de complementos XR para ver si hay advertencias o errores que deban solucionarse. La mayoría de los cheques incluyen un botón “Reparar” para resolver el problema.

En la ventana Validación del proyecto, haga clic en el botón Reparar junto al problema que desea solucionar o en el botón Reparar todo para abordar todos los problemas encontrados.

Una vez seleccionados los proveedores de complementos adecuados, ya está listo para comenzar a desarrollar para su(s) plataforma(s) de realidad virtual (VR) preferida(s). Sin embargo, todavía necesitas asignar los controles de VR a tu personaje jugador existente. Ahí es donde entran en juego los recursos iniciales proporcionados por el kit de herramientas XRI.

Agregar el controlador del reproductor de realidad virtual

En la ventana del proyecto, vaya a la carpeta Muestras/XR Interaction Toolkit/2.3.2/Starter Assets/Prefabs y luego arrastre el prefab Complete XR Origin Set Up a su escena. Este prefabricado viene precargado con todos los componentes que necesitas para configurar la entrada VR para tu controlador de jugador.

Prefab tiene un Prefab XR Origin anidado que maneja la mayoría de las configuraciones de controlador VR. Tiene dos objetos de juego que representan las manos izquierda y derecha del jugador, así como una cámara principal anidada en un GameObject de desplazamiento de cámara que maneja el movimiento de la cámara dependiendo de si un jugador está o no en modo sentado o de pie. Dado que el prefabricado de configuración completa de XR Origin incluye su propia cámara principal, si ya tienes un objeto de cámara principal en tu escena, asegúrate de deshabilitarlo para que no haya varias cámaras intentando renderizar la vista principal de tu jugador a la vez.

Arrastre el prefabricado de configuración completa de XR Origin a su escena. El Prefab tiene elementos secundarios anidados que asignan las manos y la cabeza del jugador a GameObjects específicos.

El kit de herramientas XRI también incluye un mapa de entrada que asigna acciones a controles de VR comunes. Estos controles son estándar en la mayoría de las plataformas de realidad virtual, por lo que no se requiere codificación adicional para garantizar que su entrada sea reconocida en una variedad de plataformas, incluidas Meta Quest, Magic Leap y PS VR2. Asegúrate de copiar y pegar todos los scripts que fueron importantes para el seguimiento del estado del juego desde tu controlador de jugador original al prefabricado de configuración de origen XR completo recientemente agregado. Siéntete libre de cambiar el nombre del Prefab a algo que sea más fácil de recordar, como Controlador VR FPS.

El mapa de acciones de entrada predeterminadas de XRI es utilizado por el prefabricado XR Origin para mapear interacciones comunes en la mayoría de las plataformas de VR.

El GameObject XR Origin incluye muchos componentes que pueden resultar bastante confusos al principio. Piense en el componente XR Origin del prefabricado XR Origin como el controlador de todos los demás componentes XRI. Sin ella, la locomoción XR no funciona. El resto de componentes son proveedores que permiten que la locomoción XR específica sea posible. Estos proveedores corresponden a un tipo diferente de locomoción en realidad virtual, desde teletransportarse hasta realizar giros bruscos, agarrar superficies con dos manos y arrastrarse, y mucho más.

Para aprender a ajustar los valores de locomoción del Prefab XR Origin a tu gusto, lee la documentación. Pero para comenzar, usar valores predeterminados debería funcionar bien.

Teniendo en cuenta las especificaciones de la plataforma de destino

Por supuesto, no todas las plataformas de VR son iguales, y es fundamental tener en cuenta las especificaciones de hardware de la plataforma de destino, especialmente cuando los títulos de VR necesitan alcanzar 60, 90 o 120 cuadros por segundo de manera constante para minimizar el mareo. Esto se puede lograr reduciendo la resolución máxima de tus ojos, ajustando las opciones de suavizado de bordes para tu cámara principal, reduciendo la cantidad de luces dinámicas a favor de luces horneadas, reduciendo la cantidad de transparencias alfa utilizadas en tus GameObjects y ajustando los valores LOD de GameObjects para que solo representen una versión de geometría más alta cuando el jugador esté cerca de ellos. Para obtener más sugerencias, lea nuestra guía sobre cómo optimizar el rendimiento gráfico.

La buena noticia es que es muy fácil cambiar entre diferentes configuraciones de calidad dependiendo del nivel de calidad que haya especificado para cada plataforma. En la pestaña Calidad de la ventana Configuración del proyecto, puede crear y personalizar niveles de calidad que establecen configuraciones únicas de renderizador, suavizado, LOD e iluminación para ayudarlo a aprovechar al máximo cada plataforma. Obtenga más información sobre cómo ajustar la configuración de calidad.

Probando la configuración de VR

Ahora que su proyecto está configurado para apuntar a las plataformas VR de su elección, es momento de probar el equipo XR recientemente agregado en su proyecto. Hay dos métodos recomendados para probar VR: utilizar el Simulador de dispositivo XR del XRI Toolkit para probar la configuración en el Editor o crear el reproductor y ejecutarlo en el dispositivo.

Hay una herramienta útil disponible en Unity llamada Simulador de dispositivo XR, que te permite simular controles XR dentro de la vista de Juego del Editor cuando estás en modo de juego. Puede ahorrar tiempo probando su configuración de locomoción sin construir su proyecto. Para agregar el Simulador de dispositivo XR a su proyecto, abra la ventana Administrador de paquetes, regrese al paquete XRI Toolkit, haga clic en la pestaña Muestras y, en Activos de muestra, haga clic en el botón Importar junto al Simulador de dispositivo XR.

En el Administrador de paquetes, haga clic en el paquete XR Interaction Toolkit, haga clic en la pestaña Muestras y haga clic en el botón Importar junto al Simulador de dispositivo XR para agregarlo a su proyecto.

Una vez instalado, abra la ventana Configuración del proyecto y haga clic en la pestaña XRI Toolkit. En esta pestaña, habilite la casilla de verificación “Usar Simulador de dispositivo XR en escenas” para agregar el Simulador de dispositivo XR en tiempo de ejecución cuando ingrese al modo de reproducción. También puedes arrastrar y soltar el Prefab del Simulador de dispositivo XR desde la ventana del Proyecto directamente a tu Escena.

En la pestaña XR Interaction Toolkit de la Configuración del proyecto, habilite la casilla de verificación “Usar simulador de dispositivo XR en escenas” para agregar una instancia del prefabricado de simulador de dispositivo XR seleccionado cuando ingrese al modo de reproducción.

Ahora, cuando ingresas al modo de reproducción en el Editor, podrás usar los controles WASD y del mouse para mover tu XR Rig y presionar Tab para alternar entre mover todos los controles, solo tu mano izquierda o solo tu mano derecha. No es una coincidencia 1:1 con la entrada de VR real, pero te ayudará a probar si tus configuraciones de locomoción funcionan como se espera de inmediato.

Simplemente recuerde que antes de crear su proyecto, debe deshabilitar la casilla de verificación “Usar Simulador de dispositivo XR en escenas” en la ventana Configuración del proyecto de XRI Toolkit o deshabilitar/eliminar el Simulador de dispositivo XR de su escena. De lo contrario, los controles de realidad virtual no funcionarán correctamente en el dispositivo. Esto se debe a que el Simulador de dispositivo XR simula la entrada de VR desde un mouse y un teclado o un controlador de juego e ignora la entrada de los controladores de VR reales.

Ejemplo del simulador de dispositivo XR en acción

El segundo método para probar su XR Rig es simplemente construirlo y ejecutarlo en su plataforma de destino. La configuración de cada dispositivo XR para ejecutar compilaciones de Unity es única, así que lea la documentación sobre cómo conectarlos a su máquina de desarrollo para obtener la información más actualizada. Una vez que su dispositivo esté conectado, seleccione Compilar y ejecutar en la ventana Configuración de compilación para crear la compilación para su plataforma de destino y cargarla en el dispositivo.

Una vez que la compilación se esté ejecutando en el dispositivo, puedes probar la entrada tú mismo y ver qué funciona y qué no. La única limitación es esperar a que finalice la compilación y tener un dispositivo disponible para realizar pruebas.

Con solo estos pasos, junto con algunos ajustes menores en la configuración de renderizado foveado, pude ejecutar la escena del jardín japonés de la nueva plantilla URP en PS VR2, que se mostró en GDC 2023.

Espero que esta guía rápida te ayude a comenzar a agregar soporte de VR a tu proyecto. Si tienes dudas sobre alguna parte de la configuración de VR, puedes revisar la guía de Unity para configurar tu proyecto para XR para obtener más información.

Los equipos de XR y URP están trabajando arduamente para garantizar que el desarrollo para múltiples plataformas sea lo más sencillo posible. Comparta cualquier comentario sobre Universal Render Pipeline en el foro URP y cualquier comentario sobre XR en el foro XR. Esté atento a los futuros blogs técnicos de los desarrolladores de Unity como parte del trabajo en curso. SerieTecnología de las Trincheras.