Microsoft Mesh-Toolkit-Beispiel: Pavillon
Mit dem Mesh Pavillion-Beispiel können Sie Umgebungen erstellen, die interaktive Aktivitäten und verschiedene Objekte im Mesh-Toolkit enthalten. Es verfügt über ein einfaches, leistungsstarkes Design. Das Projekt Pavillon Unity enthält zwei Szenen.
Die MeshPavillion_Samples Szene
In dieser Szene finden Sie Aktivitäten, die aus Objekten im Toybox-Paket, einem Globus aus unserem Steuerelementbeispielpaket , verschiedenen Grafikobjekten und Mesh-Toolkit-Features wie Screenshare erstellt wurden, die Sie in Ihre eigenen Umgebungen ziehen können.
Hier sind einige der Aktivitäten und interaktiven Objekte, die in der Szene zu finden sind. Wenn Sie eine größere Version eines Bilds anzeigen möchten, klicken Sie darauf.
Aktivitäten
Die folgende Abbildung kann Ihnen helfen, die verschiedenen Aktivitäten in der Szene zu finden.
- Bean bag toss
- Feuergrube mit gerösteten Marshmallows
- Wasserfall (Wassershader)
- Eisbrecher
- Optionsfeld
- Bildschirmfreigabe
- Kugelplastik
- Sonnensystem
- Globe
Es gibt auch Kunstobjekte wie Pflanzen und Shader, die in der gesamten Szene verteilt sind.
- Bean Bag Toss
Dies ist eine lustige Aktivität, die Ihrem Projekt ein Spielelement hinzufügen und soziale Interaktion und Teamaufbau durch einen freundlichen Wettbewerb fördern kann. Die Bean-Taschen sind Interagierbare und Starrbodies mit visuellen Skripts mit mehreren angefügten Objektvariablen. Eine Gruppe von Zielen hat Animationen angefügt, die dazu führen, dass die Löcher gedreht werden (Objektname: Drehung). Wenn eine Tasche "punktet", indem sie in ein Loch fällt, generiert eine Partikelsystemkomponente einen "gewinnenden" visuellen Hinweis (Objektname: vfx_beanbag_score_001).
- Feuergruben & Rösten Marshmallows
Die Teilnehmer können einen Marshmallow auf einem Stick rauben und ihren Freunden einen Marshmallow-Röst zukommen lassen. Ein Stick (Objektname: MarshmallowStick) kann gegreift und gehalten werden, da es über eine Gitterinteraktionseinrichtungskomponente verfügt, deren Objekttyp auf Equippable festgelegt ist. Außerdem ist ein Skriptdiagramm angefügt, das einen Animationsclip namens Roast auslöst. Wenn Sie mehr Einblick in den Marshmallow-Brennenseffekt wünschen, sehen Sie sich das S_VFX_BurntShader Shaderdiagramm an, das dem Marshmallow_03_burnt-Objekt zugeordnet ist. Das Feuer wird durch Partikelsysteme bereitgestellt, die an das Main_Flame Objekt und seine untergeordneten Objekte angefügt sind. Die Sticks können dank des ResetButton-Skripts , das dem Reset_Button_Marshmallow_Varient-Objekt zugeordnet ist, an ihre ursprünglichen Stellen im Stickhalter zurückgegeben werden.
- Wasserfall (Wassershader)
Ein Wasserfall kann die visuelle Attraktivität eines Raums verbessern und ein beruhigendes und natürliches Element bieten, das die Umgebung einladend macht. Diese Wasserfallressource verfügt über Umgebungssound und zeigt unsere Verwendung von VFX-Tools. Es gibt auch benutzerdefinierte Shader, einschließlich eines Shaders, der UVs verzerrt, um realistische Wasserbrechung und Verzerrung zu simulieren. All dies sorgt in Kombination mit verschiedenen Leistungsoptimierungstechniken für eine nahtlose Integration in Echtzeitumgebungen.
- Eisbrecher
Wenn die Teilnehmer ihre Füllung von gerösteten Marshmallows hatten, können sie den Eisbrecher in der Nähe besuchen. Diese Aktivität ist eine großartige Möglichkeit, um mehr übereinander zu erfahren. Die Teilnehmer können sich um eine Kugel herum sammeln, die, wenn sie geklickt wird, nach einer Lieblings-TV-Show fragt, einprägsame Konzertleistung, Ratschläge, die sie erhalten haben, oder eine beliebige Anzahl anderer Dinge im Zusammenhang mit ihren Meinungen, Interessen oder Erfahrungen. Die Kugel ist eine Interaktion mit einem Skript namens IceBreaker angefügt. Außerdem verfügt sie über eine Objektvariable vom Typ "String ", die die potenziellen Fragen enthält.
- Kugelplastik
Diese "Skulptur" besteht aus über einem Dutzend Kugeln verschiedener Größen, die im Raum schweben. Die Kugeln sind Interagiere ( Objektname: InteractableSphere). Wenn ein Teilnehmer eine Kugel berührt, wird ein glockenähnlicher Ton erzeugt. Um zu sehen, wie dies funktioniert, sehen Sie sich das SpheresSculptureSphere_Simple Skript an, das an InteracatableSphere angefügt ist.
- Sonnensystem
Dies ist eine Miniversion unseres Sonnensystems, mit Erd-, Mars- und Jupitermodellen, die um die Sonne schweben (Objektnamen: Planet_Earth, Planet_Mars, Planet_Jupiter). Es gibt auch ein Astronautenmodell (Objektname: Astronaut Rig). Ein Teilnehmer kann die Modelle aus einer Entfernung erreichen und abrufen, da sie jeweils über Manipulable Setup-Komponenten von Mesh verfügen, die auf den Typ "Manipulable" festgelegt sind. Das Astronautenmodell hat Gelenke und ein Rig; wenn es gegreift und bewegt wird, seine Arme und Beine flailieren. Die Modelle können aufgrund des Vorhandenseins eines Containment Field-Objekts nicht aus dem Raum verschoben werden.
- Radio
Nur ein einfaches Radio, um einige jazzige Hintergrundmusik für die Umgebung bereitzustellen. Das Radio (Objektname: Radio_Pressable_Prefab) hat ein Skript angefügt (PressableRadio), das das Audio generiert. Die musiknoten, die aus dem Radio schweben, werden vom Particle System-Objekt (untergeordnetes Objekt von Radio_V2) generiert.
- Bildschirmfreigabe
Die Screenshare-Komponente des Mesh-Toolkits ermöglicht Entwicklern das Platzieren von Screenshares in ihren Umgebungen. Diese ermöglichen Es Ereignishosts mit Berechtigungen "Organizer" oder "Co-Organizer", ihre Bildschirme auf die gleiche Weise wie in Microsoft-Umgebungen freizugeben, die bereits Screenshares oder in einer beliebigen Umgebung mit hinzugefügten Screenshare-Objekten enthalten. Sie können einer Szene mehrere Screenshare-Komponenten hinzufügen; Alle davon zeigen denselben Inhalt an, wenn ein Bildschirm in einem Mesh-Ereignis freigegeben wird.
So fügen Sie eine Screenshare-Komponente hinzu:
Führen Sie eines der folgenden Verfahren aus:
Klicken Sie in der Hierarchie mit der rechten Maustaste, um das Kontextmenü zu öffnen, und wählen Sie dann die Bildschirmfreigabe des Gitter-Toolkits>aus.
Oder
Suchen Sie im Projektfenster nach dem Prefab "ScreenShare" (es befindet sich im Mesh Toolkit-Paket), und ziehen Sie es dann in Ihre Szene.
Sie können die Größe ändern und den Speicherort des ScreenShare-Prefab ändern.
- Kugel
Der Handschuh-Prefab stellt den Planeten Erde dar; Sie können drehen und auswählen. Bei Auswahl generiert der Globus eine Breiten- und Längengradposition und fügt eine Markierung hinzu. Diese Funktionalität kann mit Visual Scripting erweitert und geändert werden, und alle Aktionen werden standardmäßig von allen Clients freigegeben. Globe ist eines der Beispiele im Steuerelementbeispielpaket , eine Beispielbibliothek von Benutzeroberflächensteuerelementen, die mit dem Mesh-Toolkit erstellt wurden.
- Kunstobjekte
Im gesamten Mesh-Pavillon entdecken Sie eine Vielzahl von Kunstobjekten, die dazu beitragen, eine ansprechende Umgebung zu schaffen, darunter üppige Pflanzen, schimmernde Wassershader und stilvolle Möbel. Sie können diese Ressourcen nutzen, um Ihre eigenen Umgebungen zu bereichern.
Die MeshPavillion_moduleGallery-Szene
Diese Szene enthält Räume, Korridore und Hallen, die als einzelne Module gebaut werden. Sie können diese so anordnen, wie Sie ein benutzerdefiniertes Layout erstellen möchten.
Damit die Module genau ausgerichtet werden können, müssen Sie das Raster-Andocken im Unity-Editor aktivieren.
Aktivieren des Rasterraster-Andockens
Wir müssen das Rasterrasten innerhalb des Unity-Editors aktivieren, um die Module präzise ausrichten zu können.
Legen Sie in der Symbolleiste des Szenenfensters den Umschalter "Drehpunktdrehung " auf "Global" fest.
Schalten Sie die Sichtbarkeit des Rasters auf "Ein" um (die Schaltfläche sollte blau sein).
Umschalten der Schaltfläche "Rasterrast ausrichten" auf "Ein" (dies sollte auch blau sein).
Klicken Sie auf das Symbol "Rasterraster ausrichten", und legen Sie dann im Dialogfeld "Rasterausrastung " den Wert "Rastergröße: X " auf 0,5 fest.
Erstellen eines Layouts
Wählen Sie ein Raummodul aus, mit dem Sie beginnen möchten, und fügen Sie dann einen Korridor an. Die Rasterrastausrichtung hilft Ihnen dabei, sie genau mit der Tür abzugleichen.
Ziehen Sie die Raummodule nach Bedarf an Ort und Stelle, und fügen Sie Hallen und Korridore an.
Tipp: Sie können neue Öffnungen erstellen, indem Sie das Deckobjekt in der Mitte jeder Wand deaktivieren. Fügen Sie einen neuen Korridor an, um die Umwelt in alle Richtungen zu erweitern.
Beiträge
Wir akzeptieren derzeit keine Codebeiträge zu unseren Beispielen. Wenn Sie Feedback haben oder probleme mit den Beispielen oder dem Mesh-Toolkit auftreten, führen Sie die folgenden Schritte aus: Wählen Sie in einem Unity-Projekt, das das Mesh-Toolkit-Paket installiert hat, das Mesh-Toolkit> aus. Geben Sie Feedback an Microsoft, und verwenden Sie dann den Feedbacklink im Mesh-Toolkit, um uns mitzuteilen.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.
Lizenz
Das Mesh-Beispiel in diesem Projekt unterliegt der MIT-Lizenz, wie in der LIZENZ dargestellt. MD-Datei im Mesh-Toolkit-Unity-Repository . Die Beispielfunktionen sind jedoch von dem Mesh-Toolkit abhängig, das von einer separaten Lizenz gesteuert wird und software von Drittanbietern enthält.
Freigeben Ihrer Arbeit
Teilen Sie uns mit, wie Sie das Mesh Pavillion in unserem Mesh Developer Forum verwenden!