En esta guía, se muestra cómo usar el complemento Google Cardboard XR para Unity en Unity para crear tus propias experiencias de realidad virtual (RV).
Puedes usar el SDK de Cardboard para convertir un teléfono celular en una plataforma de realidad virtual. Un dispositivo móvil puede mostrar escenas en 3D con renderización estereoscópica, hacer un seguimiento de los movimientos de la cabeza y reaccionar a ellos, y detectar cuando el usuario presiona el botón del visor para interactuar con las apps.
Para comenzar, usarás HelloCardboard, un juego de demostración que muestra las funciones principales del SDK de Cardboard. En el juego, los usuarios exploran un mundo virtual para encontrar y recopilar objetos. Te muestra cómo hacer lo siguiente:
- Configura tu entorno de desarrollo
- Descarga y compila la app de demostración
- Escanea el código QR de un visor Cardboard para guardar sus parámetros
- Hacer un seguimiento de los movimientos de la cabeza del usuario
- Renderiza imágenes estereoscópicas configurando la distorsión correcta para cada ojo.
- Cómo activar y desactivar el modo de VR
Configura tu entorno de desarrollo
Requisitos de software:
- Unity 2021.3.44f1 o una versión posterior
- Asegúrate de incluir la compatibilidad con compilación para Android y iOS durante la instalación.
- Asegúrate de instalar el parche de versión 44f1 o una posterior.
- Se debe instalar Git y el ejecutable
git
debe estar en la variable de entornoPATH
. Consulta los documentos de compatibilidad con git del administrador de paquetes de Unity para obtener más detalles.
Importa el SDK y crea un proyecto nuevo
Sigue estos pasos para importar el SDK de Unity y crear un proyecto nuevo.
- Abre Unity y crea un nuevo proyecto 3D.
- En Unity, ve a Window > Package Manager.
- Haz clic en + y selecciona Add package from git URL.
- Pega
https://github.com/googlevr/cardboard-xr-plugin.git
en el campo de entrada de texto.
El paquete se debe agregar a los paquetes instalados. - Navega al paquete Google Cardboard XR Plugin for Unity. En la sección Samples, elige Import into Project.
Los recursos de muestra se deben cargar enAssets/Samples/Google Cardboard/<version>/Hello Cardboard
.
Configura la escena de HelloCardboard
- Navega a
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
, selecciona Add Open Scenes y elige HelloCardboard para abrir la escena de ejemplo. - Abre el menú Capas y selecciona Editar capas….
- Define una capa nueva llamada "Interactiva".
- Haz clic en el GameObject Treasure para abrir la ventana Inspector. Establece su capa como "Interactiva". Si aparece una ventana emergente que te pregunta si quieres establecer la capa como interactiva para todos los objetos secundarios, haz clic en "Sí, cambiar objetos secundarios".
- Haz clic en el objeto GameObject Player > Camera > CardboardReticlePointer para abrir la ventana Inspector. En la secuencia de comandos "Cardboard reticle pointer", selecciona "Interactive" como la Reticle Interaction Layer Mask.
Cómo configurar la configuración de compilación de Android
Navega a File > Build Settings.
- Selecciona Android y elige Switch Platform.
- Selecciona Add Open Scenes y elige HelloCardboard.
Player Settings
Navega a Edit > Project Settings….
Configura la resolución y la configuración de la presentación
Navega a Reproductor > Resolución y presentación.
- Establece la Orientación predeterminada en Horizontal a la izquierda o Horizontal a la derecha.
- Inhabilita Optimización del ritmo de fotogramas.
Configura Otros parámetros de configuración
Navega a Reproductor > Otros parámetros de configuración.
- Elige
OpenGLES2
,OpenGLES3
,Vulkan
o cualquier combinación de ellas en las APIs de gráficos. - Selecciona
Android 8.0 'Oreo' (API level 26)
o una versión posterior en Nivel de API mínimo. - Selecciona
API level 33
o una versión posterior en Nivel de API objetivo. - Selecciona
IL2CPP
en Backend de secuencias de comandos. - Selecciona las arquitecturas deseadas eligiendo
ARMv7
,ARM64
o ambas en Arquitecturas de destino. - Selecciona
Require
en Acceso a Internet. - Selecciona
Input System Package (New)
en Active Input Handling. - Especifica el dominio de tu empresa en Package Name.
- Si se seleccionó
Vulkan
como API de gráficos, haz lo siguiente:- Borra la casilla de verificación Apply display rotation during rendering en Vulkan Settings.
- Si la versión de Unity es 2021.2 o posterior, selecciona
ETC2
en Formato de compresión de texturas.
- Si la versión de Unity es 2023.1 o posterior, selecciona
Activity
y borraGameActivity
en Punto de entrada de la aplicación.
Configura la configuración de publicación
Navega a Reproductor > Configuración de publicación.
- En la sección Build, selecciona
Custom Main Gradle Template
yCustom Gradle Properties Template
. Agrega las siguientes líneas a la sección de dependencias de
Assets/Plugins/Android/mainTemplate.gradle
:implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.gms:play-services-vision:20.1.3' implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
Agrega las siguientes líneas a
Assets/Plugins/Android/gradleTemplate.properties
:android.enableJetifier=true android.useAndroidX=true
Configura la configuración de administración de complementos de XR
Navega a XR Plug-in Management.
- Selecciona
Cardboard XR Plugin
en Proveedores de complementos.
Cómo compilar un proyecto
Navega a File > Build Settings.
- Selecciona Build o elige un dispositivo y selecciona Build and Run.
Configura la configuración del proyecto para iOS
Navega a File > Build Settings.
- Selecciona iOS y elige Switch Platform.
- Selecciona Add Open Scenes y elige HelloCardboard.
Player Settings
Navega a Edit > Project Settings….
Configura la resolución y la configuración de la presentación
Navega a Reproductor > Resolución y presentación.
- Establece la Orientación predeterminada en Horizontal a la izquierda o Horizontal a la derecha.
Configura Otros parámetros de configuración
Navega a Reproductor > Otros parámetros de configuración.
- En Descripción del uso de la cámara, escribe
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
. - En Versión mínima de iOS objetivo, escribe
12.0
. - Especifica el dominio de tu empresa en Package Name.
- Marca
Top Edge
,Left Edge
yRight Edge
en Aplaza los gestos del sistema en los bordes.
Configura la configuración de administración de complementos de XR
Navega a XR Plug-in Management.
- Selecciona
Cardboard XR Plugin
en Proveedores de complementos.
Cómo compilar un proyecto
Navega a File > Build Settings.
- Selecciona Build o Build and Run.
Volver a centrar
El SDK de Cardboard te permite centrar el rastreador de cabeza con Recenter()
.
Sigue estos pasos para probarlo con la aplicación de ejemplo:
- Mueve el dispositivo a la posición que deseas volver a centrar (usa como nueva posición de la cabeza hacia adelante).
- Mantén presionado el activador de tu dispositivo Cardboard durante al menos tres segundos.
- Suelta el activador.
- La pose inicial ahora está en la dirección a la que apunta la cámara.
Cómo activar y desactivar el modo de VR
La API de Unity XR Plugin Management te permite activar o desactivar el modo de VR para el complemento XR de Google Cardboard para Unity. La documentación para el usuario final y los ejemplos de uso están disponibles en la documentación para el usuario final de Unity.
La escena VrMode en el ejemplo de HelloCardboard muestra un uso básico de la API antes mencionada. En esta escena, se puede desactivar el modo de realidad virtual presionando salir
y se puede volver a activar presionando en cualquier lugar de la pantalla. Consulta VrModeController.cs para obtener detalles sobre cómo se realiza.