Freigeben über


Mesh 101 Tutorial Kapitel 4: Verschieben von Objekten und Auslösen von Animationen mit Mesh Interactables und Physik

In diesem Kapitel arbeiten Sie mit einem Modell des Windparks. Sie erfahren, wie Sie Gitterinteraktionables und Physik verwenden, um starre Körper (in diesem Fall Windenergieanlagen) zu erfassen und freizugeben und einen Animationstrigger mithilfe von Visual Scripting einzurichten. Sie schließen die Dinge ab, indem Sie die Windkraftanlagen einschränken, sodass sie nur innerhalb eines angegebenen Bereichs verschoben werden können.

Dieses Kapitel ist etwas einfacher als das, was Sie in Kapitel 3 getan haben---Es gibt keine Skripterstellung, und das Netzwerk ist so eingerichtet, dass die Physik für alle Avatare in der Sitzung gleich aussieht.

Es gibt einige Dinge, die wir tun müssen, bevor wir mit der ersten Station beginnen.

Neukonfiguration der Hierarchie

  • Reduzieren Sie in der Hierarchie das Chapter3 GameObject, und erweitern Sie dann das Chapter4 GameObject.

Screenshot eines Computers Beschreibung

Ändern der Ansicht, um die Kapitel 4 Kugelterrasse anzuzeigen

In der Erfahrung mit Mesh bewegt sich der Teilnehmer reibungslos vom Ende von Kapitel 3 bis zum Anfang von Kapitel 4 und wird richtig lokalisiert, um die Lernaktivitäten von Kapitel 4 zu beginnen. Wenn Sie jedoch den Wiedergabemodus am Ende von Kapitel 3 beendet haben, wurden Sie nicht automatisch mit einer Ansicht zum Kapitel 4-Modell im Szenenfenster platziert. Richten Sie diese Ansicht ein.

  1. Wählen Sie in der Hierarchie das GameObject mit dem Namen 4.1 – Grab and Release aus.

    Screenshot eines Computers Beschreibung

  2. Bewegen Sie den Cursor über das Szenenfenster , und drücken Sie dann die F-TASTE auf der Tastatur.

    Dies konzentriert die Ansicht auf das Objekt 4.1 – Grab und Release , aber Sie werden höchstwahrscheinlich nicht in der position sein, die wir benötigen.

  3. Ziehen, drehen und/oder vergrößern Sie die Ansicht, bis Sie die Kapitel 4-Stationen vor Ihnen sehen, wie unten gezeigt.

    Ein computergeneriertes Bild eines Automatisch generierten Modells einer Bergbeschreibung

Station 4.1: Grab und Release

Das Ziel für die Teilnehmer in diesem Kapitel der Schulung ist es, Windkraftanlagen von der Tischplatte in den Ozean zu verschieben. Sobald sie sich dort befinden, werden die Turbinen den Meereswind fangen, wodurch sich ihre Blätter drehen und Strom erzeugen.

  1. Erweitern Sie in der Hierarchie das GameObject 4.1 – Grab and Release . Beachten Sie, dass es drei Wind Turbine GameObjects enthält, die sich auf der Tabletop in der Szene befinden.

    Screenshot eines Computers Beschreibung

    Wir fügen WindTurbine1 Funktionen zum "Greifen und Freigeben" hinzu, damit die Teilnehmer sie in Mesh verschieben können.

  2. Wählen Sie in der HierarchieDie Option WindTurbine1 aus.

  3. Klicken Sie im Inspektor auf die Schaltfläche Komponente hinzufügen , und suchen Sie nach Gitterinteraktionseinrichtung, und fügen Sie es hinzu.

    Screenshot

    Tipp

    Eine Erläuterung dieser Komponente wurde in Kapitel 3 dieses Tutorials gegeben.

  4. Klicken Sie in derselben Komponente auf die Dropdownliste Objekttyp , und wählen Sie dann Manipulable aus.

    Screenshot

  5. Stellen Sie sicher, dass die Komponente aktiv ist.

  6. Erweitern Sie in der Rigidbody-Komponente bei Bedarf die Option Einschränkungen, und wählen Sie dann für die Einstellungen für Die Fixrotationdie Option X,Y und Z aus.

    Screenshot: Automatisch generierte Computerbeschreibung

Dadurch wird verhindert, dass die Turbine umkippt, wenn Sie sie auf einer unebenen Oberfläche platzieren.

Testen Ihrer Arbeit

  1. Speichern Sie das Projekt, und wählen Sie dann die Schaltfläche Unity Editor Play aus.

    Beachten Sie, dass ihr Startpunkt im Spielfenster die Kapitel 3 Kugelterrasse ist, wenn Sie in den Wiedergabemodus wechseln. Für dieses Kapitel möchten wir in der anderen Sphere-Terrasse sein---Die mit den Kapitel 4-Features. Glücklicherweise gibt es eine einfache Möglichkeit, dorthin zu gelangen.

  2. Drehen Sie die Ansicht nach rechts, bis das Informationsfeld Zu Kapitel 4 wechseln angezeigt wird.

    Screenshot eines Computers Beschreibung

  3. Gehen Sie zum Informationsfeld, und wählen Sie dann die Schaltfläche Teleport to Chapter 4 aus.

    Screenshot: Automatisch generierte Computerbeschreibung

  4. Nachdem Sie auf der Kapitel 4 Kugelterrasse angekommen sind, bewegen Sie den Cursor auf WindTurbine1 - ihre Form ändert sich - und ziehen Sie dann die Turbine um die Szene herum.

    Die Turbine bleibt aufrecht, wenn sie ihre Gefrierrotationseinschränkungen einschaltet.

    Bild

  5. Klicken Sie auf die Schaltfläche Unity-Editor wiedergeben, um den Wiedergabemodus zu beenden.

Sie müssen die beiden anderen Windkraftanlagen nicht aktualisieren – das haben wir bereits für Sie erledigt.

Station: 4.2 Animationstrigger

Die Idee hier ist, dass, wenn Sie eine Windkraftanlage über den Ozean ziehen, der "Wind" bewirkt, dass sich die Blätter der Turbine drehen. Was tatsächlich geschieht, ist, dass sich ein transparenter Cube mit dem Namen Animationstrigger über dem Ozean befindet und als Triggervolume fungiert. Wenn Sie eine Windkraftanlage in das Triggervolume ziehen, wird ein On Trigger Enter-Ereignis ausgelöst, das eine Animation zum Drehen des Blatts startet.

In diesem Kapitel fügen wir einem GameObject ein Skript hinzu und aktivieren dann die Animation im Skript.

  1. Erweitern Sie in der Hierarchie das GameObject 4.2 -- Animation Trigger , und wählen Sie dann das untergeordnete Objekt Animation Trigger aus.

    Screenshot

    Beachten Sie, dass Sie die grünen Umrisse des GameObject-Box-Colliders des Animationstriggers sehen können.

    Screenshot

  2. Navigieren Sie im Inspektor zur Box Collider-Komponente , und wählen Sie dann Ist Trigger aus.

    Screenshot

Tipp

Wenn Sie Ist Trigger auswählen, wird das Objekt als Colliderkomponente an ein Triggervolume angefügt.

  1. Navigieren Sie in der Hierarchie zu Kapitel 4>4.1 – Grab and Release , und wählen Sie dann WindTurbine1 aus.
  2. Klicken Sie auf die Schaltfläche Komponente hinzufügen, und suchen Sie dann nach Skriptcomputer, und fügen Sie es hinzu.

Wir möchten, dass unser Skript eingebettet wird, aber das bedeutet in der Regel, dass Sie ein neues Skriptdiagramm von Grund auf neu erstellen müssen. Wir nehmen eine Verknüpfung; Lassen Sie die Option Quelle vorerst auf Graph festgelegt. Wir fügen ein vorhandenes Skriptdiagramm an und konvertieren es dann in ein eingebettetes Diagramm.

  1. Klicken Sie im Feld Graph auf die Schaltfläche, und wählen Sie dann im Fenster SelectSceneGraphdie Option SPWindTurbineScript aus.

    Screenshot

  2. Klicken Sie auf die Schaltfläche Konvertieren . Beachten Sie, dass dadurch die Graph-Einstellung entfernt wird und die Option Quelle in Einbetten geändert wird.

Hinzufügen der Animation zum Drehen des Blatts zum Diagramm

Nehmen Sie sich einen Moment Zeit, um das Skriptdiagramm zu untersuchen. Es besteht aus zwei Gruppen: Die obere Gruppe löst die Animation zum Drehen des Blatts aus, wenn der Benutzer eine Windkraftanlage in das Triggervolumen zieht, und die untere Gruppe beendet die Animation, wenn der Benutzer die Turbine aus dem Volume zieht.

Screenshot

Das Diagramm ist fast so eingerichtet, wie wir es wollen, aber es gibt noch ein Problem. Die beiden Animator: Festlegen von Triggerknoten sind auf This ...

Screenshot

... Diese (also WindTurbine1) verfügt jedoch nicht über die Animation, die wir auslösen möchten. Lassen Sie uns es finden.

  1. Erweitern Sie in der HierarchieWindTurbine1 , und erweitern Sie dann sein untergeordnetes Objekt mit dem Namen WindTurbineBody. Dadurch wird das untergeordnete Objekt Windmill_Turbine_001:Propellors10 angezeigt.

    Screenshot

  2. Wählen Sie Windmill_Turbine_001:Propellors10 aus, und beachten Sie dann im Inspektor, dass es eine Animatorkomponente mit dem Animatorcontroller mit dem Namen WindTurbine1Propellers enthält.

    Screenshot

    Dieser Animator wird unsere Animation bereitstellen.

  3. Ziehen Sie Windmill_Turbine_001 :Propellors10 GameObject aus der Hierarchie , und legen Sie es dann im Skriptdiagramm im ersten Feld im Knoten Animator: Set Trigger festlegen in der ersten Gruppe ab.

    Screenshot

  4. Ziehen Sie Windmill_Turbine_001 :Propellors10 GameObject erneut aus der Hierarchie , und legen Sie es dann im Skriptdiagramm im ersten Feld im Knoten Animator: Set Trigger festlegen in der zweiten Gruppe ab.

Das Skript ist jetzt abgeschlossen.

Testen Ihrer Arbeit

  1. Speichern Sie das Projekt, und drücken Sie dann die Schaltfläche Unity-Editor wiedergeben.

  2. Wie bereits erwähnt, wird Ihr Avatar im Wiedergabemodus auf der Kapitel3-Kugelterrasse platziert. Drehen Sie die Szene nach rechts, und gehen Sie dann zur Schaltfläche Teleport to Chapter 4 (Teleport to Chapter 4 ) und drücken Sie sie.

    Screenshot: Automatisch generierte Computerbeschreibung

  3. Sie sollten jetzt auf der Chapter4 Sphere Terrace sein. Ziehen Sie WindTurbine1 (Erinnerung: es ist die am weitesten entfernte mit den roten Klingen) über den Ozean. Beachten Sie, dass sich die Schaufeln der Turbine jetzt drehen.

    Ein Bild mit Screenshot, 3D-Modellierung, PC-Spiel, Videospielsoftware Beschreibung automatisch generiert

  4. Ziehen Sie dieselbe Turbine vom Ozean weg, und platzieren Sie sie wieder auf der Tischplatte. Beachten Sie, dass sich die Schaufeln der Turbine nicht mehr drehen.

  5. Wenn Sie mit der Animation fertig sind, drücken Sie die Unity Editor-Schaltfläche Wiedergabe, um den Wiedergabemodus zu beenden.

Sie müssen die anderen Windkraftanlagen nicht aktualisieren--- Wir haben es bereits für Sie getan.

Station 4.3: Einschränkende Körper

Im Moment gibt es keine Einschränkung, wo ein Teilnehmer eine Windkraftanlage abwerfen kann. Wir hoffen, dass sie die Turbinen im Ozean platzieren, wo sie den Wind fangen können, aber ein Teilnehmer könnte beispielsweise versehentlich eine Turbine auf den Boden fallen lassen. Das wollen wir vermeiden, damit die Turbinen nur auf der Tischplatte oder im Ozean landen können, können wir ein Containmentfeld einrichten. Dies ist im Grunde eine transparente Box--- die Turbinen werden auf das Innere der Box beschränkt.

  1. Erweitern Sie in der Hierarchie das GameObject 4.3 -- Einschränken von Körpern , und wählen Sie das untergeordnete Objekt Containment Field aus.

    Screenshot: Automatisch generierte Computerbeschreibung

  2. Wählen Sie im Inspektor die Schaltfläche Komponente hinzufügen aus, und fügen Sie dann die Komponente Containment Field hinzu.

    Screenshot: Automatisch generierte Computerbeschreibung

  3. Wählen Sie in der Komponente Containment Field die Schaltfläche "+" rechts neben der Option Betroffene Textkörper aus, und wählen Sie dann im Popupmenü die Bedingung Spielobjektname aus.

    Screenshot: Automatisch generierte Computerbeschreibung

  4. Geben Sie im Feld Beginnt mit den Namen "WindTurbine" ein. Da alle drei Windkraftanlagen in unserer Szene mit "WindTurbine" beginnen, sind sie alle auf das Containment Field beschränkt.

    Screenshot eines Computers Beschreibung

Testen Ihrer Arbeit

  1. Speichern Sie das Projekt, und drücken Sie dann die Schaltfläche Unity-Editor wiedergeben.

  2. Wie bereits erwähnt, wird Ihr Avatar im Wiedergabemodus auf der Kapitel3-Kugelterrasse platziert. Drehen Sie die Szene nach rechts, und gehen Sie dann zur Schaltfläche Teleport to Chapter 4 (Teleport to Chapter 4 ) und drücken Sie sie.

    Screenshot: Automatisch generierte Computerbeschreibung

  3. Sie sollten jetzt auf der Chapter4 Sphere Terrace sein. Ziehen Sie eine der Windkraftanlagen von der Tischplatte und dem Ozean weg und versuchen Sie, es auf den Boden zu lassen. Das Containment-Feld verhindert dies.

Kapitel 4: Zusammenfassung

In diesem Kapitel haben Sie Mesh-Features hinzugefügt, mit denen Teilnehmer an Ihrer Erfahrung Folgendes tun können:

  • Greifen und Bewegen eines Objekts

  • Auslösen einer Animation, wenn der Teilnehmer ein Objekt in ein Triggervolume zieht

  • Löschen eines Objekts nur in einem bestimmten von Ihnen angegebenen Bereich

Nächste Schritte

Kapitel 5: Bereitstellen Ihrer Umgebung für Tests