Compartir a través de


Ejemplo del kit de herramientas de Microsoft Mesh: Toybox

Vista de larga distancia de la escena de Toybox en un evento Mesh.

Toybox es una muestra de Mesh que permite a los creadores crear experiencias y juegos interactivos de Mesh. El ejemplo proporciona una serie de actividades que usan mezclas de recursos, sombreadores, scripting visual, animaciones, VFX y SoundFX para impulsar la interacción social entre experiencias de Mesh.

Si esta es la primera vez que usa uno de nuestros ejemplos, le recomendamos que revise nuestra introducción a ejemplos si aún no lo ha hecho.

El paquete toybox

El paquete Toybox se denomina com.microsoft.mesh.toolkit.toybox y se puede encontrar en Explorador de archivos en la carpeta Paquetes.

Captura de pantalla del paquete toybox en Explorador de archivos.

Este es el aspecto que tiene en el proyecto de Unity.

Captura de pantalla del paquete Toybox en el proyecto de Unity.

Descripción de la escena interactables

Para comprender las interacciones entre objetos de la escena, se recomienda revisar el artículo Grab, hold and throw with Interactables (Grab, hold and throw with Interactables) y , a continuación, echar un vistazo a los objetos del ejemplo toybox que se hacen interactivos mediante la contención de malla o los componentes Mesh InteractableBody . Examinar los scripts visuales adjuntos a determinados objetos le proporcionará más información. Los scripts contienen una combinación de nodos y nodos de Unity estándar que están especialmente diseñados para Mesh. Para obtener más información sobre los nodos de malla, consulte referencia del nodo de scripting visual. Hay una gran cantidad de GameObjects en la muestra de Toybox; Las listas y tablas siguientes deberían facilitar la búsqueda de los objetos interactivos y los nodos mesh en los scripts.

Actividades de Toybox

La imagen siguiente puede ayudarle a encontrar las diferentes actividades en la escena. Para ver una versión más grande, haga clic en la imagen.

  1. Toss de bolsa de bean
  2. Pozo de fuego y Panmallows tostados
  3. Separador de hielo
  4. Escultura de esfera
  5. Sistema solar
  6. Radio
  7. Boombox

Vista de larga distancia de la escena de Toybox con características numeradas.

  • Toss de bolsa de bean

    GIF que muestra a un asistente de eventos jugando la bolsa de beans juego.

    Esta es una actividad divertida que puede agregar un elemento de juego a su proyecto y promover la interacción social y el desarrollo de equipos a través de una competencia amigable. Las bolsas de bean son interactables y rígidas que tienen scripts visuales con varias variables de objeto asociadas. Un conjunto de destinos tiene animaciones adjuntas que hacen que los agujeros giren (nombre de objeto: Rotación). Cuando una bolsa "puntúa" cayendo en un agujero, un componente del sistema de partículas genera una indicación visual "ganadora" (nombre de objeto: vfx_beanbag_score_001).

  • Fogatas & Tostado de Malvaviscos

    GIF que muestra un asistente al evento tostado de un malvacha.

    Los asistentes pueden agarrar un pantano en un palo y unirse a sus amigos para un asado de malvacha. Un stick (nombre de objeto: MarshmallowStick) se puede agarrar y mantener porque tiene un componente mesh Interactable Setup con su tipo de objeto establecido en Equippable. También tiene un grafo de script adjunto que desencadena un clip de animación denominado Roast. Si desea obtener más información sobre el efecto de quema de marshmallow, observe el gráfico de sombreador de S_VFX_BurntShader asociado al objeto Marshmallow_03_burnt . El fuego lo proporcionan los sistemas de partículas asociados al objeto Main_Flame y sus objetos secundarios. Los sticks se pueden devolver a sus lugares originales en el marcador de stick gracias al script ResetButton adjunto al objeto Reset_Button_Marshmallow_Varient .

  • Separador de hielo

    Captura de pantalla de un asistente de Mesh que toca una esfera de interruptor de hielo y genera una pregunta.

    Cuando los asistentes han tenido su relleno de pantanos tostados, pueden visitar el Ice Breaker ubicado cerca. Esta actividad es una excelente manera de que las personas aprendan entre sí. Los asistentes pueden reunirse alrededor de una esfera que, cuando se hace clic, pregunta sobre un programa de TELEVISIÓN favorito, una actuación de concierto memorable, consejos que han obtenido o cualquier otra cosa relacionada con sus opiniones, intereses o experiencias. La esfera es interactable con un script denominado IceBreaker adjunto. También tiene una variable de objeto de tipo List of String que contiene las posibles preguntas.

  • Escultura de esfera

    Captura de pantalla de un asistente de Mesh tocando una escultura de esfera que genera un sonido.

    Esta "escultura" consta de más de una docena de esferas de varios tamaños flotantes en el espacio. Las esferas son Interactables (nombre de objeto: InteractableSphere). Cuando un asistente toca una esfera, se genera un tono similar a la campana. Para ver cómo funciona, eche un vistazo al script de SpheresSculptureSphere_Simple asociado a InteracatableSphere.

  • Sistema solar

    Captura de pantalla de un asistente de Mesh en la actividad del sistema solar capturando al astronauta.

    Se trata de una mini-versión de nuestro sistema solar, con modelos de Tierra, Marte y Marte flotando en órbita alrededor del Sol (nombres de objeto: Planet_Earth, Planet_Mars, Planet_Jupiter). También hay un modelo de astronauta (nombre de objeto: Plataforma de astronauta). Un asistente puede ponerse en contacto con los modelos desde una distancia, ya que cada uno de ellos tiene los componentes mesh interactable Setup establecidos en el tipo Manipulable. El modelo de astronauta tiene juntas y una plataforma; cuando se agarra y se mueve, sus brazos y piernas se acercan. Los modelos no se pueden mover fuera de la sala debido a la presencia de un objeto Containment Field .

  • Radio

    Captura de pantalla de un asistente mesh que presiona el botón en la radio para controlar el sonido.

    Sólo una radio simple para proporcionar música de fondo jazzy para el Entorno. La radio (nombre de objeto: Radio_Pressable_Prefab) tiene un script adjunto (PressableRadio) que genera el audio. Las notas de música que flotan desde la radio son generadas por el objeto Sistema de partículas (objeto secundario de Radio_V2).

  • Boombox

    Captura de pantalla de un asistente de Mesh presionando el botón de boombox para controlar el sonido.

    Esto es similar en funcionamiento a la Radio, con un estilo de música ligeramente diferente. El script para reproducir el sonido (PlayButton_Script) se adjunta al objeto toybox_play_button_3_varient . El script tiene un subgráfico (BoomboxState) que contiene los nodos del audio.

Agregar el paquete Toybox a un proyecto existente

Hay un par de maneras de agregar Toybox al proyecto.

  1. Copie y pegue la carpeta com.microsoft.mesh.toolkit.toybox ubicada en "Toybox\Packages" en la carpeta Packages del proyecto.
  2. Haga referencia al paquete Toybox desde GitHub.

Para importar Toybox en el proyecto de Unity mediante GitHub:

  1. En el proyecto, en la barra de menús, seleccioneAdministrador de paquetesde ventanas>.

  2. En el Administrador de paquetes, haga clic en la lista desplegable "+" y seleccione "Agregar paquete desde la dirección URL de Git..."

    Captura de pantalla de la opción de menú Agregar paquete desde GitHub.

  3. Pegue https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Toybox/Packages/com.microsoft.mesh.toolkit.toybox en el campo de texto y, a continuación, haga clic en Agregar.

    Captura de pantalla de la dirección URL de la bandeja de entrada pegada en el cuadro de texto de GitHub.

Toybox ahora se instalará en el proyecto de Unity como un paquete en la carpeta Packages del proyecto con el nombre Microsoft Mesh Toolkit Toybox.

Objetos con el componente Mesh Interactable Setup

  • beanbag_red
  • beanbag_blue
  • toybox_beanbag_reset_button_variant
  • InteractableSphere
  • Planet_Mars
  • Planet_Earth
  • Planet_Jupiter
  • Reset_Button_Marshmallow_Varient
  • MarshmallowStick
  • Botón
  • toybox_play_button_01_varient
  • Planet_Mars
  • Planet_Earth
  • Planet_Jupiter
  • Planet_astronaut_hip
  • Button (objeto secundario de ButtonHolder)
  • toybox_play_button_01_varient

Objetos con el componente Cuerpo interactivo de malla

  • beanbag_red
  • beanbag_blue
  • toybox_beanbag_reset_button_variant
  • Reset_Button_Marshmallow_Varient
  • Button (objeto secundario de ButtonHolder)
  • toybox_play_button_01_varient

Objetos con los componentes de física de malla

GameObject Componente
Gravity Campo de gravedad orbital
ContainmentField Campo de contención
Astronaut_containment Campo de contención
Flotabilidad Campo de flotación
BeanBags, Marshmallow Holder, Marshmallow_Pos Restablecer transformación de cuerpo
Marshmallow_Pos Restablecer transformaciones de cuerpo

Nodos de malla usados en gráficos de script

Microsoft Mesh: activado el estado cambiado


Actividad GameObjects Nombre de la máquina de script Nombre del gráfico
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton
Toss de bolsa de bean beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Escultura de esfera InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple
Rompehielos Rompehielos Rompehielos Rompehielos
Cuadro de música Radio_Pressable_Prefab Radio presionable PressableRadio
Cuadro de música toybox_play_button_01_varient PlayButton Script PlayButton_Script

Cuerpo interactivo de malla: está equipado


Actividad GameObjects Nombre de la máquina de script Nombre del gráfico
Toss de bolsa de bean beanbag_red, beanbag_blue BeanBagPower BeanBagGraph


Cuerpo interactivo de malla: está apuntando


Actividad GameObjects Nombre de la máquina de script Nombre del gráfico
Toss de bolsa de bean beanbag_red, beanbag_blue BeanBagPower BeanBagGraph


Cuerpo interactivo de malla: está seleccionado


Actividad GameObjects Nombre de la máquina de script Nombre del gráfico
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton
Toss de bolsa de bean beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Escultura de esfera InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple

Cuerpo interactivo de malla: está seleccionado localmente


Actividad GameObjects Nombre de la máquina de script Nombre del gráfico
Rompehielos Rompehielos Rompehielos Rompehielos
Cuadro de música Radio_Pressable_Prefab Radio presionable PressableRadio
Caja de música toybox_play_button_01_varient PlayButton Script PlayButton_Script

Cuerpo interactivo de malla: IsHovered


Actividad GameObjects Nombre de la máquina de script Nombre del gráfico
Escultura de esfera InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple
Rompehielos Rompehielos Rompehielos Rompehielos

Restablecer transformaciones de cuerpo: restablecer transformaciones de cuerpo ahora


Actividad GameObjects Nombre de la máquina de script Nombre del gráfico
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton

Propiedades de audio espacial: Create


Actividad GameObjects Nombre de la máquina de script Nombre del gráfico
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Escultura de esfera InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple

Microsoft Mesh: Reproducir audio de malla


Actividad GameObjects Nombre de la máquina de script Nombre del gráfico
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Escultura de esfera InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple

Microsoft Mesh: sonido aleatorio


Actividad GameObjects Nombre de la máquina de script Nombre del gráfico
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph

Advertencia sobre el tiempo de carga de ejemplo

El ejemplo puede tardar 15 minutos o un poco más en cargarse en Unity debido a tamaños de recursos grandes. Si es necesario, cambie la configuración del modo de suspensión para que el equipo no entre en suspensión mientras el proyecto se está cargando. Si esto sucede, podría hacer que el proyecto no se cargue correctamente.

Contribuciones

Actualmente no aceptamos contribuciones de código a nuestros ejemplos. Si tiene algún comentario o si tiene algún problema con los ejemplos o el kit de herramientas de Mesh, haga lo siguiente: en un proyecto de Unity que tenga instalado el paquete del kit de herramientas mesh, seleccione Mesh Toolkit ->Give feedback to Microsoft (Kit de herramientas de Mesh): proporcione comentarios a Microsoft y, a continuación, use el vínculo de comentarios del kit de herramientas de Mesh para informarnos.

Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.

Licencia

El ejemplo mesh de este proyecto se rige por la licencia MIT como se muestra en la licencia LICENSE. Archivo MD en el repositorio Mesh-Toolkit-Unity . Sin embargo, la funcionalidad de ejemplos depende del kit de herramientas de Mesh, que se rige por una licencia independiente y contiene software de terceros.