Desarrollo de realidad mixta: ¿pusiste un altavoz en una sala de estar virtual?

Continuamos la serie de artículos sobre Windows Mixed Reality y desarrollamos desde cero una aplicación Unity de realidad mixta en formato de trabajo de laboratorio. Usted mismo puede, en paralelo con la publicación de artículos, crear dicha aplicación. En esta parte, consideramos el soporte del controlador de movimiento y agregamos el altavoz prefabricado a la sala de estar virtual.



La guía completa constará de 5 partes. Se repondrá cada semana. A continuación puede ir a la parte que necesita.

Parte 1: Exportar la aplicación UWP para Windows Mixed Reality desde Unity ;
Parte 2: Configuración del entorno (VR) ;
Parte 3: Controladores ;
Parte 4: Sonido espacial ;
Parte 5: HoloLens y gráficos .

Controladores


En esta etapa de la lección práctica, crearemos un altavoz prefabricado y lo agregaremos a la sala de estar virtual. Luego agregamos soporte de control de movimiento a nuestra escena para que el usuario pueda mover y rotar el altavoz.

Agregar un altavoz a una habitación


  1. Vaya a la carpeta Modelos en el panel Proyecto y arrastre el modelo Speaker3 al panel Jerarquía para que este modelo se convierta en el objeto raíz y no en un hijo de uno de los objetos de la escena.
  2. Cambie el nombre del altavoz haciendo clic derecho sobre él y seleccionando Cambiar nombre. Nómbralo orador.
  3. Seleccione el objeto Speaker en la escena, luego, en el panel Inspector, cambie las siguientes propiedades de transformación:

  • establezca el parámetro Escala en (0.02; 0.02; 0.02);
  • establezca el parámetro Posición en (2.68; 0.14; 2).



Agregar soporte de controlador


Anteriormente, cuando aplicamos los parámetros de Realidad Mixta a nuestra escena, agregamos soporte para el controlador de movimiento.

Recordemos cómo estos parámetros afectan la operación de los controladores de movimiento en nuestra escena.

  • El elemento MixedRealityCameraParent que agregamos tiene un objeto secundario llamado MotionControllers y tiene un script MotionControllerVisualizer. Este script monitorea y visualiza el modelo del controlador (cambia su posición, lo rota y también procesa eventos de entrada).
  • El objeto InputManager que agregamos espera eventos de entrada de varias fuentes. Entre sus objetos secundarios se encuentran los objetos para el mouse (Mouse), entrada táctil (Touch), gestos (GesturesInput) y Xbox. El objeto GestureInput tiene un elemento InteractionInputSource que espera los eventos del controlador de movimiento del InteractionManager. Estos son eventos de controlador de movimiento que se utilizarán para controlar nuestro altavoz.



Control de altavoces


Para que el usuario pueda mover y rotar el altavoz, se le deben agregar propiedades físicas, luego podemos determinar que la vista se dirige al altavoz.

  1. Seleccione el objeto Altavoz en el panel Jerarquía para cambiar sus propiedades y comportamiento en el panel Inspector.
  2. En el panel Inspector, haga clic en Agregar componente, luego busque y seleccione el componente Box Collider.
  3. En el componente Box Collider agregado, establezca la propiedad Size en (21, 20, 53) para que rodee completamente el altavoz.

A continuación, agregue el comportamiento del cuadro delimitador del kit de herramientas de realidad mixta:

1. En el panel Proyecto, navegue hasta la carpeta Holotoolkit → UX → Scripts → BoundingBoxes (Holotoolkit → UX → Scripts → Bounding Boxes), seleccione el script BoundingBoxRig.cs y arrastre este script al panel Inspector para agregarlo a los componentes Orador

2. Dado que no necesitamos cambiar la escala del altavoz, el parámetro Scale Rate puede establecerse en 0.

El componente BoundingBoxRig agrega un elemento gizmo al objeto del juego (en este caso, el altavoz). Usando gizmo, el usuario puede rotar, mover y escalar el objeto usando controladores de movimiento o gestos HoloLens (toques y manipulaciones).

3. Con el objeto Speaker seleccionado, haga clic en Agregar componente y en el cuadro de búsqueda, ingrese Manipulable a dos manos, luego haga clic en el script resaltado en los resultados de búsqueda.

4. Establezca el Modo de manipulación de este componente en Rotación para evitar que los altavoces hagan zoom.

Este escenario le permite controlar objetos con las dos manos, utilizando los controladores de movimiento o los gestos de presionar y sostener HoloLens.

5. En el panel Proyecto, busque el prefabricado BoundingBoxBasic en la carpeta Assets → HoloToolkit → UX → Prefabs → BoundingBoxes (Resources → HoloToolkit → UX → Prefabs → Bounding Box Rectangles) y arrástrelo a la propiedad Prefab de Bounding Box del script B Aparejo en el objeto Speaker.

6. Arrastre también el prefabricado BoundingBoxBasic a la propiedad Prefabricada Bounding Box del componente Manipulable a dos manos.

El BoundingBoxBasic prefabricado contiene elementos visuales que se representan durante las manipulaciones, por lo que lo agregamos a cada componente.



7. En el panel Proyecto, ubique el prefabricado AppBarCustom en la carpeta Activos -> Prefabricados y arrástrelo a la propiedad Prefabricada de la barra de aplicaciones del componente Bounding Box Rig en el altavoz.

Hicimos muchos cambios. Asegúrate de que el panel Inspector del objeto del juego Speaker se vea así:



Iniciar la aplicación y mover el altavoz


Guarde la escena y ejecútela para verificar sus cambios.

Intenta lo siguiente:

  • seleccione un altavoz y muévalo (las señales de su controlador deben ser monitoreadas);
  • Haga clic en el panel de aplicación del altavoz para acceder a las instantáneas que le permiten girar el altavoz.
  • cambie el tamaño / escala del altavoz (si no ha deshabilitado previamente esta función).

Original

Autores: Eric Ahlstrom, cbarkerms, Madison Hight

Source: https://habr.com/ru/post/es418661/


All Articles