En esta guía, se muestra cómo usar el complemento XR de Google Cardboard para Unity para Unity a fin de crear tus propias experiencias de realidad virtual (RV).
Puedes usar el SDK de Cardboard para convertir un teléfono móvil en una plataforma de RV. Un smartphone puede mostrar escenas 3D con renderización estereoscópica, hacer un seguimiento de los movimientos de la cabeza y reaccionar ante ellos, e interactuar con las apps detectando cuándo el usuario presiona el botón del visor.
Para comenzar, usarás HelloCardboard, un juego de demostración que muestra las funciones principales del SDK de Cardboard. En el juego, los usuarios miran alrededor de un mundo virtual para encontrar y recolectar objetos. Allí se indica cómo realizar las siguientes acciones:
- Cómo configurar 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.
- Activar y desactivar el modo RV
Cómo configurar tu entorno de desarrollo
Requisitos de software:
- Unity 2021.3.32f1 o una versión posterior
- Asegúrate de incluir compatibilidad con la compilación para iOS y Android durante la instalación.
- Se debe instalar Git, y el ejecutable
git
debe estar en la variable de entornoPATH
. Consulta la documentación de asistencia de Git para el 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 del complemento XR de Google Cardboard para Unity. En la sección Samples, selecciona Import into Project.
Los elementos de muestra deben cargarse 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 muestra. - Abre el menú Capas y selecciona Editar capas....
- Define una nueva capa llamada "interactiva".
- Haz clic en el GameObject Treasure para abrir la ventana del Inspector. Establece la capa como "Interactiva". Si aparece una ventana emergente que te pregunta si también quieres configurar una capa como interactiva para todos los objetos secundarios, haz clic en "Yes, change children".
- Haz clic en el GameObject Player > Camera > CardboardReticlePointer para abrir la ventana del Inspector. En la secuencia de comandos "Puntero de retículo de cartón", selecciona "Interactivo" como Máscara de capa de interacción con retículo.
Cómo establecer configuraciones de proyectos de Android
Ve a File > Build Settings.
- Selecciona Android y elige Switch Platform.
- Selecciona Add Open Scenes y elige HelloCardboard.
Player Settings
Resolución y presentación
Ve a Project Settings > Player > Resolution and Presentation.
- Establece la Orientación predeterminada en Horizontal Left o Landscape Right.
- Inhabilita Optimized Frame Pacing.
Otras configuraciones
Ve a Project Settings > Player > Other Settings.
- Elige
OpenGLES2
,OpenGLES3
oVulkan
, o cualquier combinación de ellos en las APIs de gráficos. - Selecciona
Android 8.0 'Oreo' (API level 26)
o una versión posterior en Nivel mínimo de API. - Selecciona
API level 33
o una versión posterior en Target API Level. - Selecciona
IL2CPP
en Backend de secuencias de comandos. - Para seleccionar las arquitecturas deseadas, elige
ARMv7
,ARM64
o ambos en Arquitecturas de destino. - Selecciona
Require
en Acceso a Internet. - Especifica el dominio de tu empresa en Package Name.
- Si se seleccionó
Vulkan
como API de gráficos, haz lo siguiente:- Desmarca la casilla de verificación Aplicar rotación de pantalla durante la renderización en Configuración de Vulkan.
- Si la versión de Unity es la 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 Application Entry Point.
Configuración de publicación
Ve a Project Settings > Player > Publishing Settings.
- 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.6.1' 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
Configuración de la administración de complementos XR
Ve a Configuración del proyecto > Administración de complementos XR.
- Selecciona
Cardboard XR Plugin
en Proveedores de complementos.
Cómo compilar un proyecto
Ve a File > Build Settings.
- Selecciona Build o elige un dispositivo y selecciona Build and Run.
Establece la configuración del proyecto de iOS
Ve a File > Build Settings.
- Selecciona iOS y elige Switch Platform.
- Selecciona Add Open Scenes y elige HelloCardboard.
Player Settings
Resolución y presentación
Ve a Project Settings > Player > Resolution and Presentation.
- Establece la Orientación predeterminada en Horizontal Left o Landscape Right.
Otras configuraciones
Ve a Project Settings > Player > Other Settings.
- 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 de destino, escribe
12.0
. - Especifica el dominio de tu empresa en Package Name.
Configuración de la administración de complementos XR
Ve a Configuración del proyecto > Administración de complementos XR.
- Selecciona
Cardboard XR Plugin
en Proveedores de complementos.
Cómo compilar un proyecto
Ve a File > Build Settings.
- Selecciona Build o Build and Run.
Volver a centrar
El SDK de Cardboard te permite volver a centrar el monitor de cabeza con Recenter()
.
Sigue estos pasos para probarlo con la aplicación de muestra:
- Mueve el dispositivo a la posición que quieras volver a centrar (usa como nueva postura de cabeza mirando hacia adelante).
- Mantén activo el gatillo de tu dispositivo cartón durante al menos tres segundos.
- Suelta el gatillo.
- La pose inicial ahora está en la dirección hacia la que apunta la cámara.
Cómo activar y desactivar el modo de RV
La API de Unity XR Plugin Management te permite activar o desactivar el modo de RV para el complemento XR de Google Cardboard para Unity. La documentación para usuarios finales y los ejemplos de uso están disponibles en la documentación para usuarios finales de Unity.
En la escena VrMode de la muestra de HelloCardboard, se muestra un uso básico de la API mencionada. En esta escena, el modo RV se puede desactivar presionando exit , y se puede volver a activar presionando cualquier parte de la pantalla. Consulta VrModeController.cs para obtener detalles sobre cómo se realiza.