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 el proyecto, en la ventana Proyecto, vaya a Paquetes>Solucionadores> de Mixed Reality Toolkit Foundation.

Screenshot that shows the location of the solvers folder.

Solucionador de indicador direccional

Use el solucionador de indicador direccional para dirigir al usuario a los objetos. A continuación se muestra cómo hacerlo:

  1. En la ventana Project (Proyecto), vaya a Assets>MRTK.Tutorials.GettingStarted>Prefabs (Recursos > MRTK.Tutorials.GettingStarted > Prefabs). Arrastre el objeto prefabricado Botón de contenido adicional a la ventana Jerarquía y establezca su Posición de Transformar en X = 0, Y = 1.5, Z = 2 para colocarlo cerca del objeto RoverExplorer.

    Screenshot that shows the newly added Chevron prefab selected.

  2. Cambie el nombre del objeto Chevron recién agregado a Indicador. A continuación, en la ventana Inspector, seleccione Add Component (Agregar componente) para agregar el DirectionalIndicator.

    Screenshot that shows the DirectionalIndicator solver component added.

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

    a. Compruebe que el Tracked Target Type (Tipo de objetivo con seguimiento) del componente SolverHandler está establecido en Head (Principal).

    b. Asigne el RoverExplorer al Directional Target (Objetivo direccional) del componente DirectionalIndicator arrastrándolo desde Jerarquía al campo None (Transform) (Ninguno [Transformar]).

    c. Cambie el View Offset (Desplazamiento de vista) a 0,2.

    Screenshot that shows the DirectionalIndicator solver component configured.

  4. Para entrar en el modo de juego, presione Reproducir. 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.

    Tenga en cuenta que, al mirar fuera del objeto RoverExplorer, el objeto Indicador aparecerá y apuntará hacia el objeto RoverExplorer.

    Screenshot that shows the Play mode split view with DirectionalIndicator solver in use.

Solucionador Tap To Place (Pulsar para colocar)

Use el solucionador Tap To Place (Pulsar para colocar) para cambiar la posición de los objetos. A continuación se muestra cómo hacerlo:

  1. En la ventana Jerarquía, seleccione el objeto RoverExplorer>RoverAssembly. A continuación, en Inspector, use Agregar componente para agregar el componente Pulsar para colocar. Configure el componente como se muestra a continuación:

    a. Compruebe que el Tracked Target Type (Tipo de objetivo con seguimiento) del componente SolverHandler está establecido en Head (Principal).

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

    c. Active la casilla Keep Orientation Vertical (Mantener orientación vertical).

    Screenshot that shows the Tap To Place solver component added and configured.

  2. A continuación, use Agregar componente para agregar el componente Interactuable con estado. En la ventana Inspector, busque el evento On Clicked (). 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 On Clicked (), arrastrándolo desde Jerarquía al campo None (Object).

    b. Desde la lista desplegable Sin función, seleccione TapToPlace>StartPlacement() para llamar a este método cuando se desencadene el evento.

    Screenshot that shows the Tap To Place On Placing Started event configured.

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

    Screenshot that shows the Tap To Place On Placing Started event added.

  4. Configure el evento de la siguiente manera:

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

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

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

    Screenshot that shows the Tap To Place On Placing Started event configured.

  5. En Jerarquía, haga clic con el botón derecho en un lugar vacío. Seleccione Objeto 3D>Cubo para crear un objeto temporal que represente el suelo y configure el componente Transformar como se muestra a continuación:

    • 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

    Screenshot that shows the temporary ground Cube object added and positioned.

  6. Para entrar en el modo de juego, presione Reproducir. A continuación, mantenga presionado el botón derecho del ratón mientras lo mueve hacia abajo hasta que la mirada llegue al objeto RoverAssembly.

    Screenshot that shows the Play mode split view, with gaze hitting the RoverAssembly object.

  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.

    Screenshot that shows the Play mode split view, with placing started.

  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.

    Screenshot that shows the Play mode split view, with placing ended.

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

    Screenshot that shows how to delete the temporary ground Cube.