Ejemplo del kit de herramientas de Microsoft Mesh: Toybox
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.
Este es el aspecto que tiene 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.
- Toss de bolsa de bean
- Pozo de fuego y Panmallows tostados
- Separador de hielo
- Escultura de esfera
- Sistema solar
- Radio
- Boombox
Toss de bolsa de bean
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
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
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
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
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
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
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.
- Copie y pegue la carpeta com.microsoft.mesh.toolkit.toybox ubicada en "Toybox\Packages" en la carpeta Packages del proyecto.
- Haga referencia al paquete Toybox desde GitHub.
Para importar Toybox en el proyecto de Unity mediante GitHub:
En el proyecto, en la barra de menús, seleccioneAdministrador de paquetesde ventanas>.
En el Administrador de paquetes, haga clic en la lista desplegable "+" y seleccione "Agregar paquete desde la dirección URL de Git..."
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.
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.