Delen via


Voorbeeld van Microsoft Mesh-toolkit: Toybox

Een lange afstandsweergave van de Toybox-scène in een Mesh-gebeurtenis.

Toybox is een Mesh-voorbeeld waarmee makers interactieve Mesh-ervaringen en -games kunnen bouwen. Het voorbeeld biedt een aantal activiteiten die gebruikmaken van combinaties van assets, shaders, visuele scripting, animaties, VFX en SoundFX om sociale betrokkenheid in mesh-ervaringen te stimuleren.

Als dit uw eerste keer is dat u een van onze voorbeelden gebruikt, raden we u aan het overzicht van voorbeelden te bekijken als u dat nog niet hebt gedaan.

Het Pakket Speelgoedbox

Het Toybox-pakket heet com.microsoft.mesh.toolkit.toybox en is te vinden in Bestandenverkenner in de map Pakketten.

Een schermafbeelding van het Toybox-pakket in Bestandenverkenner.

Dit ziet er als volgt uit in het Unity-project.

Een schermafbeelding van het Toybox-pakket in het Unity-project.

Inzicht in de scène Interactables

Om inzicht te krijgen in de interacties tussen objecten in de scène, raden we u aan het artikel Grab te bekijken, vast te houden en te gooien met Interactables. Bekijk vervolgens de objecten in het toybox-voorbeeld dat interactief wordt gemaakt door de Mesh Interactable Setup of Mesh Interactable Body-onderdelen te bevatten. Als u de visuele scripts bekijkt die zijn gekoppeld aan bepaalde objecten, krijgt u meer inzicht. De scripts bevatten een combinatie van standaard Unity-knooppunten en knooppunten die speciaal zijn gemaakt voor Mesh. Zie de naslaginformatie over visualscriptingknooppunten voor meer informatie over de Mesh-knooppunten. Er zijn veel GameObjects in het toybox-voorbeeld; de onderstaande lijsten en tabellen maken het gemakkelijker voor u om de interactiebare objecten en de Mesh-knooppunten in de scripts te vinden.

Activiteiten in Speelgoedbox

Met de onderstaande afbeelding kunt u de verschillende activiteiten in de scène vinden. Als u een grotere versie wilt zien, klikt u op de afbeelding.

  1. Bean Bag Toss
  2. Vuurplaats en Rooster marshmallows
  3. Ijsbreker
  4. Bol beeldhouwwerk
  5. Zonnestelsel
  6. Radio
  7. Boombox

Lange afstandsweergave van de Toybox-scène met genummerde functies.

  • Bean Bag Toss

    GIF die laat zien dat een deelnemer aan de bean bag toss game speelt.

    Dit is een leuke activiteit die een game-element aan uw project kan toevoegen en sociale interactie en teamopbouw kan bevorderen door middel van een vriendelijke competitie. De bean-tassen zijn interactiebaar en rigidbodies die visuele scripts hebben met verschillende objectvariabelen die zijn gekoppeld. Eén set doelen bevat animaties die ervoor zorgen dat de gaten worden gedraaid (objectnaam: Draaiing). Wanneer een zak "scores" door in een gat te vallen, genereert een deeltjessysteemonderdeel een "winnende" visuele cue (objectnaam: vfx_beanbag_score_001).

  • Vuurplaats & Rooster Marshmallows

    GIF met een deelnemer die een marshmallow roostert.

    Deelnemers kunnen een marshmallow op een stok pakken en deelnemen aan hun vrienden voor een marshmallow rooster. Een stick (objectnaam: MarshmallowStick) kan worden vastgepakt en vastgehouden omdat het een Mesh Interactable Setup-onderdeel heeft met het objecttype ingesteld op Equippable. Er is ook een scriptgrafiek gekoppeld waarmee een animatieclip met de naam Roast wordt geactiveerd. Als u meer inzicht wilt krijgen in het marshmallow brandende effect, bekijkt u de S_VFX_BurntShader arceringsgrafiek die is gekoppeld aan het Marshmallow_03_burnt object. Het vuur wordt geleverd door deeltjessystemen die zijn gekoppeld aan het Main_Flame object en de onderliggende objecten. De sticks kunnen worden teruggezet naar hun oorspronkelijke plaatsen in de stickholder dankzij het ResetButton-script dat is gekoppeld aan het Reset_Button_Marshmallow_Varient-object .

  • Ijsbreker

    Een schermafbeelding van een Mesh-deelnemer die een ijsbrekerbol aanraakt en een vraag genereert.

    Wanneer genodigden hun opvulling van geroosterde marshmallows hebben gehad, kunnen ze de Ice Breaker in de buurt bezoeken. Deze activiteit is een uitstekende manier voor mensen om meer over elkaar te leren. Deelnemers kunnen zich verzamelen rond een bol die, wanneer erop wordt geklikt, vraagt om een favoriete tv-show, gedenkwaardige concertprestaties, advies dat ze hebben gekregen of een aantal andere dingen met betrekking tot hun meningen, interesses of ervaringen. De bol is een Interactable met een script met de naam IceBreaker attached. Het bevat ook een objectvariabele van het type List of String die de mogelijke vragen bevat.

  • Bol beeldhouwwerk

    Een schermafbeelding van een Mesh-deelnemer die een bolsculptuur aanraakt die een geluid genereert.

    Dit "beeldhouwwerk" bestaat uit meer dan tien bollen van verschillende grootten die in de ruimte zweven. De spheres zijn Interactables (objectnaam: InteractableSphere). Wanneer een deelnemer een bol aanraakt, wordt er een belachtige toon gegenereerd. Bekijk het SpheresSculptureSphere_Simple script dat is gekoppeld aan InteracatableSphere om te zien hoe dit werkt.

  • Zonnestelsel

    Een schermafbeelding van een Mesh-deelnemer bij de activiteit solarsysteem die de astronaut pakt.

    Dit is een miniversie van ons zonnestelsel, met Aarde-, Mars- en Jupiter-modellen die rond de zon zweven (objectnamen: Planet_Earth, Planet_Mars, Planet_Jupiter). Er is ook een astronautmodel (objectnaam: Astronaut Rig). Een deelnemer kan de modellen op afstand bereiken en ophalen, omdat ze elk mesh-onderdelen voor interactie hebben ingesteld op type Manipulable. Het astronautenmodel heeft gewrichten en een tuig; wanneer het wordt gepakt en verplaatst, zijn armen en benen flail over. De modellen kunnen niet uit de ruimte worden verplaatst vanwege de aanwezigheid van een Containment Field-object .

  • Radio

    Een schermafbeelding van een Mesh-deelnemer die op de knop op de radio drukt om het geluid te bedienen.

    Gewoon een eenvoudige radio om wat jazzy achtergrondmuziek te bieden voor de Omgeving. De radio (objectnaam: Radio_Pressable_Prefab) heeft een script gekoppeld (PressableRadio) waarmee de audio wordt gegenereerd. De muzieknotities die uit de radio zweven, worden gegenereerd door het deeltjessysteemobject (onderliggend object van Radio_V2).

  • Boombox

    Een schermafbeelding van een Mesh-deelnemer die op de knop in de Boombox drukt om het geluid te bedienen.

    Dit is vergelijkbaar met de Radio, met een iets andere muziekstijl. Het script voor het afspelen van het geluid (PlayButton_Script) is gekoppeld aan het toybox_play_button_3_varient-object . Het script heeft een subgraaf (BoomboxState) die de knooppunten voor de audio bevat.

Het pakket Toybox toevoegen aan een bestaand project

Er zijn een aantal manieren om het pakket Toybox toe te voegen aan uw project.

  1. Kopieer en plak de map com.microsoft.mesh.toolkit.toybox in de map Packages in de map Packages van uw project.
  2. Verwijs naar het Toybox-pakket vanuit GitHub.

Belangrijk

Als u wilt verwijzen naar het Toybox-pakket van GitHub, moet Git op uw computer zijn geïnstalleerd.

Toybox importeren in uw Unity-project met behulp van GitHub:

  1. Selecteer In uw project op de menubalk het venster >Pakketbeheer.

  2. Klik in de Pakketbeheer op de vervolgkeuzelijst +en selecteer vervolgens 'Pakket toevoegen vanuit git-URL...'

    Een schermafbeelding van de menuoptie Pakket toevoegen vanuit Github.

  3. Plak deze https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox in het tekstveld en klik vervolgens op Toevoegen.

    Een schermafbeelding van de URL van het speelgoedvak die in het GitHub-tekstvak is geplakt.

Toybox wordt nu in uw Unity-project geïnstalleerd als een pakket in de map Pakketten van het project met de naam Microsoft Mesh Toolkit Toybox.

Tip

U wordt aangeraden een specifieke versie van het Toybox-pakket te gebruiken om ervoor te zorgen dat uw project is vergrendeld voor een release.

U kunt verwijzen naar een specifieke releaseversie, vertakking of Git-doorvoerhash door de URL in stap 3 te wijzigen, zoals hieronder wordt beschreven:

Syntaxis URL-voorbeeld
Specifieke versie https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox#vX.Y.Z
Specifieke vertakking https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox#my_branch
Git-doorvoerhash https://github.com/microsoft/Mesh-Toolkit-Unity.git?path=/Packages/com.microsoft.mesh.toolkit.toybox#badc0ffee0ddf00ddead10cc8badf00d1badb002

Objecten met het onderdeel Mesh Interactable Setup

  • beanbag_red
  • beanbag_blue
  • toybox_beanbag_reset_button_variant
  • InteractableSphere
  • Planet_Mars
  • Planet_Earth
  • Planet_Jupiter
  • Reset_Button_Marshmallow_Varient
  • MarshmallowStick
  • Knop
  • toybox_play_button_01_varient
  • Planet_Mars
  • Planet_Earth
  • Planet_Jupiter
  • Planet_astronaut_hip
  • Knop (onderliggend object van Knopaanduiding)
  • toybox_play_button_01_varient

Objecten met het component Mesh Interactable Body

  • beanbag_red
  • beanbag_blue
  • toybox_beanbag_reset_button_variant
  • Reset_Button_Marshmallow_Varient
  • Knop (onderliggend object van Knopaanduiding)
  • toybox_play_button_01_varient

Objecten met de Mesh Physics Components

GameObject Onderdeel
Zwaartekracht Orbital Gravity Field
ContainmentField Insluitingsveld
Astronaut_containment Insluitingsveld
Drijfvermogen Drijfveld
BeanBags, Marshmallow Holder, Marshmallow_Pos Hoofdteksttransformatie opnieuw instellen
Marshmallow_Pos Hoofdteksttransformaties opnieuw instellen

Mesh-knooppunten die worden gebruikt in scriptgrafieken

Microsoft Mesh: status gewijzigd


Activiteit GameObjects Scriptcomputernaam Grafieknaam
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Bol beeldhouwwerk InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple
Icebreaker Icebreaker Icebreaker Icebreaker
Muziek Box Radio_Pressable_Prefab Drukbare radio PressableRadio
Muziek Box toybox_play_button_01_varient PlayButton-script PlayButton_Script

Mesh Interactable Body: is uitgerust


Activiteit GameObjects Scriptcomputernaam Grafieknaam
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph


Mesh Interactable Body: Is Aiming


Activiteit GameObjects Scriptcomputernaam Grafieknaam
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph


Mesh Interactiebare hoofdtekst: is geselecteerd


Activiteit GameObjects Scriptcomputernaam Grafieknaam
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Bol beeldhouwwerk InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple

Mesh Interactable Body: is lokaal geselecteerd


Activiteit GameObjects Scriptcomputernaam Grafieknaam
Icebreaker Icebreaker Icebreaker Icebreaker
Muziek Box Radio_Pressable_Prefab Drukbare radio PressableRadio
Muziek Box toybox_play_button_01_varient PlayButton-script PlayButton_Script

Mesh Interactable Body: IsHovered


Activiteit GameObjects Scriptcomputernaam Grafieknaam
Bol beeldhouwwerk InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple
Icebreaker Icebreaker Icebreaker Icebreaker

Hoofdteksttransformaties opnieuw instellen: De hoofdteksttransformaties nu opnieuw instellen


Activiteit GameObjects Scriptcomputernaam Grafieknaam
Campfire Reset_Button_Marshmallow_Varient ResetButton ResetButton

Ruimtelijke audio-eigenschappen: maken


Activiteit GameObjects Scriptcomputernaam Grafieknaam
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Bol beeldhouwwerk InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple

Microsoft Mesh: Mesh-audio afspelen


Activiteit GameObjects Scriptcomputernaam Grafieknaam
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph
Bol beeldhouwwerk InteractableSphere SpheresSculptureSphere SpheresSculptureSphere_Simple

Microsoft Mesh: Willekeurig geluid


Activiteit GameObjects Scriptcomputernaam Grafieknaam
Bean Bag Toss beanbag_red, beanbag_blue BeanBagPower BeanBagGraph

Waarschuwing over de laadtijd van het voorbeeld

Het kan 15 minuten of iets langer duren voordat het in Unity wordt geladen vanwege grote assetgrootten. Als dat nodig is, wijzigt u de instelling voor de slaapstand zodat de computer niet in de slaapstand gaat terwijl het project wordt geladen. Als dit gebeurt, kan dit ertoe leiden dat het project niet goed wordt geladen.

Bijdragen

We accepteren momenteel geen codebijdragen aan onze voorbeelden. Als u feedback hebt of als u problemen ondervindt met de voorbeelden of de Mesh-toolkit, gaat u als volgt te werk: in een Unity-project waarop het Mesh Toolkit-pakket is geïnstalleerd, selecteert u Mesh Toolkit -> Feedback geven aan Microsoft en gebruikt u vervolgens de feedbackkoppeling in de Mesh-toolkit om ons dit te laten weten.

Dit project onderschrijft de Microsoft Open Source gedragscode. Raadpleeg voor meer informatie de veelgestelde vragen over de gedragscode of neem contact op met opencode@microsoft.com als u aanvullende vragen of opmerkingen hebt.

Licentie

Het Mesh-voorbeeld in dit project wordt beheerd door de MIT-licentie, zoals wordt weergegeven in de LICENTIE. MD-bestand in de Mesh-Toolkit-Unity-opslagplaats . De functionaliteit van de voorbeelden is echter afhankelijk van de Mesh-toolkit, die onder een afzonderlijke licentie valt en software van derden bevat.