Ejercicio: Creación de ubicaciones de objetos inteligentes con solucionadores

Completado

Los solucionadores son uno de los componentes del Mixed Reality Toolkit (MRTK). Echemos un vistazo a dos tipos de solucionadores y sus respectivas funcionalidades.

Ubicación de los solucionadores en MRTK

Los solucionadores de MRTK se encuentran en la carpeta MRTK SDK. Para ver los solucionadores disponibles en tu proyecto, en la ventana del proyecto, dirígete a Paquetes>Manipulación Espacial de MRTK>Solucionadores.

Captura de pantalla que muestra la ubicación de la carpeta solvers.

Solucionador de indicador direccional

Use el solucionador de indicador direccional para dirigir al usuario a los objetos. Este es el procedimiento:

  1. En la ventana Proyecto, vaya a Recursos>MRTK.Tutorials.GettingStarted>Prefabs. Arrastre el objeto Prefab Comilla angular a la ventana Jerarquía y establezca su Posición de transformación en X = 0, Y = 1.5, Z = 2 para colocarlo cerca del objeto RoverExplorer.

    Recorte de pantalla que muestra el objeto Prefab de comilla angular recién agregado seleccionado.

  2. Cambie el nombre del objeto Chevron recién agregado a Indicator. A continuación, en la ventana Inspector , seleccione Agregar componente para agregar directionalIndicator.

    Captura de pantalla que muestra el componente solucionador DirectionalIndicator agregado.

  3. Configure los componentes DirectionalIndicator y SolverHandler de la siguiente manera:

    a) Compruebe que el tipo de destino de seguimiento del componente SolverHandler está establecido en Head.

    b. Asigne RoverExplorer al Directional Target del componente DirectionalIndicator, arrastrándolo desde Jerarquía al campo Ninguno (Transformación).

    c. Cambie el desplazamiento de vista a 0,2.

    Captura de pantalla que muestra el componente de solucionador DirectionalIndicator configurado.

  4. Para entrar en el modo juego , presione Jugar. Mantenga presionado el botón derecho del ratón mientras lo mueve hacia la izquierda o derecha para girar la dirección de la mirada.

    Observe que cuando se aleja del objeto RoverExplorer , el objeto Indicator aparecerá y apuntará hacia el objeto RoverExplorer .

    Recorte de pantalla que muestra la vista dividida del modo Reproducir con el solucionador DirectionalIndicator en uso.

Solucionador Tap To Place (Pulsar para colocar)

Use el solucionador Tap To Place (Pulsar para colocar) para cambiar la posición de los objetos. Este es el procedimiento:

  1. En la ventana Hierarchy (Jerarquía ), seleccione el objeto RoverExplorer>RoverAssembly . A continuación, en Inspector, use Agregar Componente para agregar el componente Tap To Place. Configure el componente como se muestra a continuación:

    a) Compruebe que el tipo de destino de seguimiento del componente SolverHandler está establecido en Head.

    b. Desactive Usar desplazamiento normal de superficie predeterminado y asegúrese de que el desplazamiento normal de superficie esté establecido en 0.

    c. Active la casilla Mantener orientación vertical .

    Captura de pantalla que muestra el componente solucionador Tap To Place agregado y configurado.

  2. A continuación, use Agregar Componente para agregar el componente Stateful Interactable. En la ventana Inspector, busque el evento Al hacer clic (). Seleccione el icono + para agregar un nuevo evento. Configure el evento de la siguiente manera:

    a) Asigne el objeto RoverAssembly como agente de escucha para el evento Al hacer clic (), arrastrándolo desde Hierarchy al campo None (Object).

    b. En la lista desplegable No Function, seleccione TapToPlace>StartPlacement() para llamar a este método cuando se desencadene el evento.

    Captura de pantalla que muestra el evento Tap To Place On Placing Started configurado.

  3. Con el objeto RoverAssembly aún seleccionado en la ventana Jerarquía, en la ventana Inspector, busque el evento On Placing Started (). Seleccione el icono + para agregar un nuevo evento.

    Captura de pantalla que muestra el evento Tap To Place On Placing Started agregado.

  4. Configure el evento de la siguiente manera:

    a) Asigne el objeto RoverAssembly como agente de escucha para el evento Colocación iniciada (), arrastrándolo de Jerarquía al campo (Ninguno [objeto]).

    b. En la lista desplegable Sin función , seleccione TapToPlace>float SurfaceNormalOffset para actualizar el valor de la propiedad SurfaceNormalOffset cuando se desencadene el evento.

    c. Compruebe que el argumento está establecido en 0.

    Captura de pantalla que muestra el evento Tap To Place On Placing Started configurado.

  5. En Jerarquía, haga clic con el botón derecho en un lugar vacío. Seleccione Cubo de objetos 3D>para crear un objeto temporal que represente el suelo y configure el componente Transformar de la siguiente manera:

    • Posición: X = 0, Y = 0,15, Z = 6
    • Rotación: X = 0, Y = 0, Z = 0
    • Escala: X = 10, Y = 0,2, Z = 10

    Recorte de pantalla que muestra el objeto Cube de base temporal agregado y posicionado.

  6. Para entrar en el modo Juego, pulse Reproducir y mantenga pulsado el botón derecho del ratón mientras mueve el ratón hacia abajo, hasta que la mirada alcance el objeto RoverAssembly.

    Recorte de pantalla que muestra la vista dividida del modo Juego, con la mirada apuntando al objeto RoverAssembly.

  7. Mantenga presionada la barra espaciadora y haga clic en el botón izquierdo del mouse para hacer una pulsación en el aire e iniciar el proceso de pulsar para colocar.

    Captura de pantalla que muestra la vista dividida del modo de reproducción, con la colocación comenzada.

  8. Mantenga presionado el botón derecho del ratón mientras lo mueve hacia la izquierda o derecha para girar la dirección de la mirada. Cuando esté satisfecho con la colocación, mantenga presionada la barra espaciadora y haga clic en el botón izquierdo del mouse para hacer una pulsación en el aire final.

    Recorte de pantalla que muestra la vista dividida del modo Juego, con la colocación finalizada.

  9. Cuando haya terminado de probar la característica en modo juego , haga clic con el botón derecho en el objeto Cube y seleccione Eliminar para quitarla de la escena.

    Captura de pantalla que muestra cómo eliminar el cubo de tierra temporal.