Ejercicio: Adición de interacción de manos con objectmanipulator

Completado

El script ObjectManipulator admite la modalidad de manipulación directa del modelo de entrada de manos y controladores de movimiento. Cuando el script está asociado a un objeto, el usuario puede mover, escalar o girar el objeto con sus manos. En este ejercicio, crearás dos cubos, les adjuntarás los scripts necesarios y después los moverás.

Agregue y ajuste el primer cubo

  1. En la barra de menús, seleccione GameObject>Objeto 3D>Cubo.

    Captura de pantalla de los comandos de menú para agregar el cubo.

    El tamaño predeterminado del cubo es un metro cúbico, lo cual es demasiado grande para nuestros propósitos. Escalaremos el tamaño hasta 20 centímetros cúbicos.

  2. Seleccione el cubo y, después, en inspector, cambie los valores de escala del cubo en la sección Transformar a lo siguiente:

    X = 0.2, Y = 0.2, Z = 0.2

    El cubo se colocó en la escena en la posición predeterminada de (0,0,0). Esto significa que el cubo está en la misma posición que el casco del usuario y este no podrá ver el cubo hasta que se mueva hacia atrás. Cambiaremos los valores de posición del cubo para que esté en una mejor ubicación para visualizarlo.

  3. En el Inspector, cambie los valores de Posición del cubo en la sección Transformar por lo siguiente:

    X = 0.2, Y = 1.6, Z = 0.5

    Captura de pantalla del componente de transformación del cubo después de las actualizaciones.

    Queremos poder ver tres lados del cubo, por lo que también cambiaremos su rotación.

  4. En inspector, cambie los valores de Rotación del cubo en los valores de la sección Transformar a lo siguiente:

    X = 9, Y = 14, Z = 0

    Sugerencia

    Para acercar el cubo, selecciónelo, asegúrese de que el cursor mantenga el puntero sobre la ventana Escena y presione la tecla F . Puede acercar cualquier objeto de esta manera.

Agregar los scripts al cubo

Para que un objeto sea "agarrable" con manos rastreadas, debe tener tres componentes incorporados:

  • Un componente Collider (no es necesario hacer nada aquí; el cubo de Unity ya tiene un componente Box Collider asociado de forma predeterminada)
  • Componente Manipulador de objetos (script)
  • Componente del Administrador de restricciones (script)
  1. Con el cubo todavía seleccionado, en la ventana Inspector, seleccione el botón Añadir componente, y luego busque y seleccione el script Manipulador de objetos.

    Captura de pantalla de la agregación del script del manipulador de objetos.

    El script manipulador de objetos hace que un objeto sea extraíble, escalable y girable mediante una o dos manos. Al agregar el script Manipulador de objetos, el script Administrador de restricciones también se agrega automáticamente porque el script Manipulador de objetos depende de él.

    Captura de pantalla del script del Administrador de restricciones agregado al cubo.

Actualizar el material del cubo

Para fines de rendimiento, se recomienda usar materiales de MRTK en lugar de los materiales predeterminados de Unity.

  1. Con el cubo aún seleccionado, busque y expanda la sección Materiales en el componente Representador de malla.
  2. Reemplace el material predeterminado por el material de MRTK_Standard_White, ubicado enMateriales de recursos estándar de MRTK>Materiales. Para ello, arrastre el material directamente al campo Elemento de la sección Materiales.

Agregue un segundo cubo

  1. En Jerarquía, haga clic con el botón derecho en el cubo y seleccione Duplicar. El cubo duplicado aparece con el nombre Cubo (1).

  2. Haga clic con el botón derecho en el cubo original, seleccione Cambiar nombre y asigne al cubo el nombre Cubo cercano.

  3. Haga clic con el botón derecho en el cubo duplicado, seleccione Cambiar nombre y, a continuación, asigne al cubo el nombre Cubo lejano.

    Por el momento, parece que solo hay un cubo en la vista Escena. Esto se debe a que el cubo cercano y el cubo lejano están en el mismo lugar exacto. Vamos a cambiar la posición y rotación del cubo lejano.

  4. Con far Cube aún seleccionado, cambie sus valores en su componente Transform a lo siguiente:

    Posición: X = 0,6, Y = 1,6, Z = 1,1

    Rotación: X = 27, Y = 0, Z = 0

    Ahora la cámara debería ver el cubo cercano a la izquierda y el cubo lejano un poco más a la derecha. Para confirmarlo, en la Jerarquía, seleccione Cámara Principal (bajo Plataforma XR de MRTK>Desplazamiento de Cámara), luego observe la ventana de Cámara Principal en la ventana de Escena.

    Captura de pantalla de la vista de la cámara principal en la ventana de Escena.

    Sugerencia

    Si quiere que la vista de la ventana Escena se parezca más a lo que ve la cámara, desplácese por la ventana Escena. Es posible que deba establecer Borrar marcas de la cámara en Skybox si no está establecido de manera predeterminada.

Agarra y mueve los cubos en modo de juego

  1. Seleccione el botón Reproducir. Cuando el proyecto comienza a reproducirse, la vista cambia a la ventana Juego.

    Captura de pantalla de la ventana Juego después de entrar en el modo Jugar.

    Nota:

    Antes de reproducir, confirme que hay un perfil válido establecido en Configuración del> proyectoMRTK3.

  2. Seleccione el botón de tres puntos situado encima de la esquina superior derecha de la ventana Juego y, a continuación, seleccione Maximizar.

    Captura de pantalla del comando Maximizar para la ventana Juego.

  3. Mantenga presionada la barra espaciadora para que la mano derecha simulada aparezca en la vista.

  4. Mueva la mano simulada más cerca del cubo cercano hasta que toque el cubo en el lado o en la parte inferior.

    Captura de pantalla de la mano derecha simulada tocando el Near Cube.

  5. Haga clic en el botón izquierdo del mouse (esto hace que la mano "tome" el cubo) y arrastre el cubo alrededor de la escena.

    Captura de pantalla del movimiento del cubo.

    Para agarrar y mover el cubo lejano, usaremos el puntero lejano asociado a la mano simulada.

  6. Si necesita, mantenga presionada la barra espaciadora de nuevo para que aparezca la mano derecha simulada. Observe el puntero lejano que se extiende desde el final del dedo índice de la mano.

    Captura de pantalla del puntero lejano de la mano simulada.

  7. Acerque la mano al Far Cube hasta que vea la punta del puntero en el cubo. Es posible que tenga que mover la mano en un movimiento circular varias veces para que la punta del puntero aparezca en el cubo.

    Captura de pantalla del puntero lejano tocando el cubo.

  8. Haga clic en el botón izquierdo del mouse (esto hace que la mano se cierre, tomando lo que llamamos "gesto de pinchar") y arrastre el cubo alrededor de la escena.