Partager via


Exemple de kit de ressources Microsoft Mesh : Toybox

Vue longue distance de la scène Toybox dans un événement Mesh.

Toybox est un exemple Mesh qui permet aux créateurs de créer des expériences et des jeux Mesh interactifs. L’exemple fournit un certain nombre d’activités qui utilisent des mélanges de ressources, de nuanceurs, de scripts visuels, d’animations, de VFX et de SoundFX pour favoriser l’engagement social dans les expériences Mesh.

Si c’est votre première utilisation de l’un de nos exemples, nous vous recommandons de passer en revue notre vue d’ensemble des exemples si vous ne l’avez pas déjà fait.

The Toybox Package

Le package Toybox est nommé com.microsoft.mesh.toolkit.toybox et se trouve dans Explorateur de fichiers dans le dossier Packages.

Capture d’écran du package Toybox dans Explorateur de fichiers.

Voici comment il se présente dans le projet Unity.

Capture d’écran du package Toybox dans le projet Unity.

Présentation des interactions entre les scènes

Pour comprendre les interactions entre les objets de la scène, nous vous recommandons de passer en revue l’article Grab, hold and throw with Interactables , puis d’examiner les objets de l’exemple Toybox qui sont rendus interagissants en contenant les composants Mesh Interactable Setup ou Mesh Interactable Body . L’examen des scripts visuels attachés à certains objets vous donne des insights supplémentaires. Les scripts contiennent un mélange de nœuds Unity standard et de nœuds spécialement conçus pour Mesh. Pour en savoir plus sur les nœuds Mesh, consultez la référence des nœuds de script visuel. Il y a beaucoup de GameObjects dans l’exemple Toybox ; les listes et les tableaux ci-dessous doivent faciliter la recherche des objets interagissants et des nœuds Mesh dans les scripts.

Activités de toybox

L’image ci-dessous peut vous aider à trouver les différentes activités de la scène. Pour afficher une version plus grande, cliquez sur l’image.

  1. Bean Bag Toss
  2. Puits de feu et guimauves grillées
  3. Brise-glace
  4. Sculpture de sphère
  5. Solar System
  6. Case d’option
  7. Boombox

Vue longue distance de la scène Toybox avec des caractéristiques numérotées.

  • Bean Bag Toss

    GIF montrant un participant à l’événement jouant au jeu bean bag toss.

    Il s’agit d’une activité amusante qui peut ajouter un élément de jeu à votre projet et promouvoir l’interaction sociale et la construction d’équipe par le biais d’une compétition conviviale. Les sacs de haricots sont interagissants et rigides qui ont des scripts visuels avec plusieurs variables d’objet attachées. Un ensemble de cibles comporte des animations attachées qui provoquent la rotation des trous (nom de l’objet : Rotation). Lorsqu’un sac « score » en tombant dans un trou, un composant système de particules génère un signe visuel « gagnant » (nom de l’objet : vfx_beanbag_score_001).

  • Fire Pit &Torréfaction Marshmallows

    GIF montrant un participant à l’événement rôtir une guimauve.

    Les participants peuvent saisir un marshmallow sur un bâton et rejoindre leurs amis pour un rôti de marshmallow. Un stick (nom de l’objet : MarshmallowStick) peut être saisi et conservé, car il a un composant Mesh Interactable Setup avec son type d’objet défini sur Equipable. Il a également un graphique de script attaché qui déclenche un clip d’animation nommé Rôti. Si vous souhaitez plus d’informations sur l’effet de combustion de marshmallow, examinez le graphique du nuanceur S_VFX_BurntShader attaché à l’objetMarshmallow_03_burnt. Le feu est fourni par des systèmes de particules attachés à l’objet Main_Flame et à ses objets enfants. Les sticks peuvent être retournés à leurs emplacements d’origine dans l’espace réservé grâce au script ResetButton attaché à l’objetReset_Button_Marshmallow_Varient.

  • Brise-glace

    Capture d’écran d’un participant Mesh touchant une sphère de brise-glace et générant une question.

    Lorsque les participants ont eu leur remplissage de guimauves rôties, ils peuvent visiter le brise-glace situé à proximité. Cette activité est un excellent moyen pour les gens d’en savoir plus les uns sur les autres. Les participants peuvent se rassembler autour d’une sphère qui, lorsque vous cliquez, vous demandent sur une émission de télévision préférée, des concerts mémorables, des conseils qu’ils ont obtenu, ou tout autre élément lié à leurs opinions, intérêts ou expériences. La sphère est un interagissant avec un script nommé IceBreaker attaché. Il a également une variable d’objet de type List of String qui contient les questions potentielles.

  • Sculpture de sphère

    Capture d’écran d’un participant Mesh touchant une sculpture de sphère générant un son.

    Cette « sculpture » se compose de plus d’une douzaine de sphères de différentes tailles flottantes dans l’espace. Les sphères sont interactables (nom de l’objet : InteractableSphere). Lorsqu’un participant touche une sphère, un ton de type cloche est généré. Pour voir comment cela fonctionne, examinez le script SpheresSculptureSphere_Simple attaché à OrchestratoratableSphere.

  • Système solaire

    Capture d’écran d’un participant Mesh à l’activité du système solaire qui a saisi l’astronaute.

    Il s’agit d’une mini-version de notre système solaire, avec les modèles Terre, Mars et Jupiter flottant en orbite autour du Soleil (noms d’objets : Planet_Earth, Planet_Mars, Planet_Jupiter). Il existe également un modèle astronaute (nom d’objet : Astronaut Rig). Un participant peut contacter et saisir les modèles à distance, car ils ont chacun des composants mesh Interactable Setup définis sur le type Manipulable. Le modèle astronaute a des articulations et une plate-forme ; quand il est saisi et déplacé, ses bras et ses jambes flail sur. Les modèles ne peuvent pas être déplacés hors de la pièce en raison de la présence d’un objet de champ de confinement.

  • Radio

    Capture d’écran d’un participant Mesh appuyant sur le bouton sur la radio pour contrôler le son.

    Juste une radio simple pour fournir une musique de fond jazzy pour l’environnement. La radio (nom de l’objet : Radio_Pressable_Prefab) a un script attaché (PressableRadio) qui génère l’audio. Les notes de musique flottantes à partir de la radio sont générées par l’objet Système de particules (objet enfant de Radio_V2).

  • Boombox

    Capture d’écran d’un participant Mesh appuyant sur le bouton sur boombox pour contrôler le son.

    Ceci est similaire en fonctionnement à la Radio, avec un style de musique légèrement différent. Le script permettant de lire le son (PlayButton_Script) est attaché à l’objet toybox_play_button_3_varient . Le script a un sous-graphe (BoomboxState) qui contient les nœuds de l’audio.

Ajouter le package Toybox à un projet existant

Il existe deux façons d’ajouter le package Toybox à votre projet.

  1. Copiez et collez le dossier com.microsoft.mesh.toolkit.toybox situé dans le dossier Packages de votre projet.
  2. Référencez le package Toybox à partir de GitHub.

Important

Pour référencer le package Toybox à partir de GitHub, git doit être installé sur votre ordinateur.

Pour importer Toybox dans votre projet Unity à l’aide de GitHub :

  1. Dans votre projet, dans la barre de menus, sélectionnez Fenêtre> Gestionnaire de package.

  2. Dans le Gestionnaire de package, cliquez sur la liste déroulante « + », puis sélectionnez « Ajouter un package à partir de l’URL git ... »

    Capture d’écran de l’option Ajouter un package à partir de l’option de menu Github.

  3. Collez https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox le champ de texte, puis cliquez sur Ajouter.

    Capture d’écran de l’URL du toybox collée dans la zone de texte Github.

Toybox sera maintenant installé dans votre projet Unity en tant que package dans le dossier Packages du projet avec le nom Microsoft Mesh Shared Computer Toolkit Toybox.

Conseil

Nous vous recommandons d’utiliser une version spécifique du package Toybox pour vous assurer que votre projet est verrouillé dans une version.

Vous pouvez référencer une version, une branche ou un hachage de validation Git spécifique en modifiant l’URL à l’étape 3, comme illustré ci-dessous :

Syntaxe Exemple d’URL
Version spécifique https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox#vX.Y.Z
Branche spécifique https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox#my_branch
Hachage de validation Git https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox#badc0ffee0ddf00ddead10cc8badf00d1badb002

Objets avec le composant Mesh Interactable Setup

  • beanbag_red
  • beanbag_blue
  • toybox_beanbag_reset_button_variant
  • InteractableSphere
  • Planet_Mars
  • Planet_Earth
  • Planet_Jupiter
  • Reset_Button_Marshmallow_Varient
  • MarshmallowStick
  • Bouton
  • toybox_play_button_01_varient
  • Planet_Mars
  • Planet_Earth
  • Planet_Jupiter
  • Planet_astronaut_hip
  • Button (objet enfant de ButtonHolder)
  • toybox_play_button_01_varient

Objets avec le composant Corps interagissant mesh

  • beanbag_red
  • beanbag_blue
  • toybox_beanbag_reset_button_variant
  • Reset_Button_Marshmallow_Varient
  • Button (objet enfant de ButtonHolder)
  • toybox_play_button_01_varient

Objets avec les composants de physique du maillage

GameObject Composant
Gravité Champ de gravité orbitale
ContainmentField Champ contenant-contenu
Astronaut_containment Champ contenant-contenu
Flottabilité Champ de bouée
BeanBags, Marshmallow Holder, Marshmallow_Pos Réinitialiser la transformation du corps
Marshmallow_Pos Réinitialiser les transformations de corps

Nœuds de maillage utilisés dans les graphiques de script

Microsoft Mesh : Sur l’état modifié


Activité GameObjects Nom de l’ordinateur de script Nom du graphique
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Sculpture de sphère InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple
Brise-glace Brise-glace Brise-glace Brise-glace
Musique Box Radio_Pressable_Prefab Pressable Radio PressableRadio
Musique Box toybox_play_button_01_varient PlayButton Script PlayButton_Script

Corps interagissant maillage : est équipé


Activité GameObjects Nom de l’ordinateur de script Nom du graphique
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph


Corps interagissant maillage : vise


Activité GameObjects Nom de l’ordinateur de script Nom du graphique
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph


Corps interagissant maillage : est sélectionné


Activité GameObjects Nom de l’ordinateur de script Nom du graphique
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Sculpture de sphère InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple

Corps interagissant maillage : est sélectionné localement


Activité GameObjects Nom de l’ordinateur de script Nom du graphique
Brise-glace Brise-glace Brise-glace Brise-glace
Musique Box Radio_Pressable_Prefab Pressable Radio PressableRadio
Musique Box toybox_play_button_01_varient PlayButton Script PlayButton_Script

Corps interagissant maillage : IsHovered


Activité GameObjects Nom de l’ordinateur de script Nom du graphique
Sculpture de sphère InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple
Brise-glace Brise-glace Brise-glace Brise-glace

Réinitialiser les transformations de corps : Réinitialiser les transformations de corps maintenant


Activité GameObjects Nom de l’ordinateur de script Nom du graphique
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton

Propriétés audio spatiales : Créer


Activité GameObjects Nom de l’ordinateur de script Nom du graphique
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Sculpture de sphère InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple

Microsoft Mesh : Lire l’audio mesh


Activité GameObjects Nom de l’ordinateur de script Nom du graphique
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Sculpture de sphère InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple

Microsoft Mesh : son aléatoire


Activité GameObjects Nom de l’ordinateur de script Nom du graphique
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph

Avertissement concernant l’heure de chargement de l’exemple

L’exemple peut prendre 15 minutes ou légèrement plus longtemps pour être chargé dans Unity en raison de grandes tailles de ressources. Si vous avez besoin, modifiez le paramètre du mode Veille afin que l’ordinateur ne soit pas en veille pendant le chargement du projet. Si cela se produit, le projet peut ne pas se charger correctement.

Contributions

Nous n’acceptons actuellement pas les contributions de code à nos échantillons. Si vous avez des commentaires ou si vous rencontrez des problèmes avec les exemples ou le kit de ressources Mesh, procédez comme suit : dans un projet Unity sur lequel le package du kit de ressources Mesh est installé, sélectionnez Mesh Shared Computer Toolkit ->Donnez des commentaires à Microsoft, puis utilisez le lien de commentaires dans le kit de ressources Mesh pour nous informer.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les questions fréquentes sur le Code de conduite ou contactez opencode@microsoft.com pour toute question ou tout commentaire.

Licence

L’exemple Mesh de ce projet est régi par la licence MIT, comme indiqué dans la LICENCE. Fichier MD dans le référentiel Mesh-Shared Computer Toolkit-Unity. Toutefois, les exemples de fonctionnalités dépendent du kit de ressources Mesh, qui est régi par une licence distincte et contient des logiciels tiers.