Voorbeeld van Microsoft Mesh-toolkit: Toybox
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.
Dit ziet er als volgt uit 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.
- Bean Bag Toss
- Vuurplaats en Rooster marshmallows
- Ijsbreker
- Bol beeldhouwwerk
- Zonnestelsel
- Radio
- Boombox
Bean Bag Toss
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
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
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
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
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
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
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.
- Kopieer en plak de map com.microsoft.mesh.toolkit.toybox in de map Packages in de map Packages van uw project.
- 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:
Selecteer In uw project op de menubalk het venster >Pakketbeheer.
Klik in de Pakketbeheer op de vervolgkeuzelijst +en selecteer vervolgens 'Pakket toevoegen vanuit git-URL...'
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.
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:
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.