Cómo cambiar la lista de SDK de realidad virtual en la configuración de Unity Build (a través de un script)

Solo un artículo rápido para ayudar a las personas que están desesperadas como yo ayer. Ayer estaba implementando la función de desarrollar una vez y construir en todas partes de nuestro sistema ImmotionRoom: es un menú muy agradable en el que puede elegir los auriculares para los que está desarrollando y luego establece para usted todas las configuraciones, prefabricados y demás para que pueda crear su programa para cada auricular que desee sin cambiar una sola línea de código o modificar su escena. Genial, ¿no es así?

plataforma cruzada cuerpo completo vr
El increíble menú de compilación múltiple ahora disponible en ImmotionRoom SDK: de esta manera, desarrollar juegos de cuerpo completo para todas las plataformas se ha vuelto súper fácil … ¡solo necesita hacer clic en una entrada del menú!

Bueno, me estaba volviendo loco porque estaba desarrollando algunos scripts de editor para implementarlo y luego No logré encontrar cómo cambiar a través de un script esa maldita lista de SDK de realidad virtual que puede ver en la configuración de su reproductor. Cambiar la bandera de Realidad virtual compatible es muy fácil y está documentado, pero no pude encontrar una manera de cambiar la otra cosa y en la clase PlayerSettings no pude encontrar una solución.

unidad de realidad virtual compatible con sdk
Lista de parámetros de realidad virtual … acceder a ellos a través del editor es muy fácil, pero encontrarlos a través de un script es una molestia

Estaba a punto de dejarlo cuando descubrí que Oculus (e incluso Vive) ya lo hacen en sus guiones… así que llegué a saber cómo hacer esto. El secreto está en utilizar el nuevo soporte nativo de realidad virtual de Unity. En particular, la clase UnityEditorInternal.VR (que no sabía que existía hasta ayer…)

Entonces, para habilitar / deshabilitar la compatibilidad con realidad virtual para una plataforma en particular, puede usar el método antiguo

PlayerSettings.virtualRealitySupported = bool_value

o puede usar una nueva implementación y escribir

UnityEditorInternal.VR.VREditor.SetVREnabledOnTargetGroup(BuildTargetGroup, bool).

Para cambiar la lista de VR SDK para una plataforma en particular, debe llamar

UnityEditorInternal.VR.VREditor.SetVREnabledDevicesOnTargetGroup(BuildTargetGroup, string[]).

El segundo parámetro es una matriz de cadenas, especificar los ID de cadena de los SDK de realidad virtual que desea admitir. Usar una cadena no es una opción muy inteligente, ya que puede pasar a este método cualquier cadena, incluso «ILoveSkarredGhost» (incluso si en este caso, el sistema se quejará de un SDK no encontrado).

unidad vr sdk compatible
¡Mira, mamá, soy un SDK de realidad virtual!

Las cadenas válidas son cosas como «Oculus», «OpenVR» (para SteamVR) y «Ninguno» (para aplicaciones que no sean de realidad virtual). Recuerde que la matriz está ordenada por prioridad … así que en primer lugar debe colocar el SDK preferido.

Espero haberlo ayudado … ¡feliz desarrollo de realidad virtual!

Deja un comentario

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad