Unity-2D-Verbindungen Abstand, Gelenk, Ziel und feste Verbindungen

Was Sie erstellen werden

Einführung

Unity ist eine bekannte, gut dokumentierte und sehr bekannte Spiel-Engine. Es handelt sich um eine Lösung mit mehreren Plattformen, mit der Sie Spiele oder Anwendungen erstellen können, die für verschiedene Plattformen (iOS, Android, Web und PC) gedacht sind. Ursprünglich konzentrierte sich Unity auf die 3D-Entwicklung, jedoch bieten neuere Versionen Werkzeuge für die 2D-Entwicklung.

Unity ist eine gute Wahl für aufstrebende Spieleentwickler, da es für die meisten Mobil-, Desktop- und Konsolenplattformen geeignet ist und noch besser für Entwickler und Studios mit geringerem Umsatz genutzt werden kann.

Eine der Schlüsselkomponenten von Unity sind Physikverbindungen. Diese Verbindungen haben physikalische Eigenschaften (wie der Name vermuten lässt), und Sie können mehrere Verbindungen zwischen Objekten in Ihrer Szene herstellen.

Mithilfe von Verbindungen können Sie eine Verbindung zwischen zwei Objekten beschreiben. Dies bedeutet, dass Sie die Physik fast aller mehrteiligen Objekte simulieren können, die Sie sich vorstellen können, einschließlich Türen, Gleitplattformen, Ketten oder sogar Abrissbälle!

In diesem Tutorial wird erklärt, wie 2D-Physikverbindungen funktionieren und wie sie verwendet werden können, um großartige Effekte zu erzielen (ohne die Spieleleistung zu beeinträchtigen)..

Voraussetzungen

Stellen Sie zunächst sicher, dass Sie über die neueste Version von Unity verfügen, die Sie hier herunterladen können. In diesem Tutorial verwenden wir die Version 5.4.1f1. Stellen Sie sicher, dass Sie die neueste Unity-Version verwenden. Andernfalls haben Sie möglicherweise Probleme, wenn Sie dem Lernprogramm folgen und die Physikgelenke verwenden.

Bevor wir beginnen, möchte ich mich auch ganz besonders bei Ryukin Studio bedanken, dass wir das Paket 2D Platformer Art Pack - Demo für dieses Tutorial verwenden dürfen.

Laden Sie als Nächstes die herunter Unity2DJointsStarter Datei. Entpacken und öffnen Sie das Projekt in Unity. Die Demo-Szene sollte automatisch geöffnet werden. Ist dies nicht der Fall, können Sie sie vom Projekt aus öffnen Szene Mappe.

Die Szene sollte wie folgt aussehen:


Wie Sie sehen, haben wir einen Charakter und mehrere statische Plattformen rund um die Szene. Die Idee hinter diesem Tutorial besteht darin, ein kleines 2D-Plattformspiel zu erstellen und dabei die 2D-Gelenke zu verwenden, um Hindernisse zu schaffen, die der Spieler überwinden kann. In diesem Lernprogramm können Sie alle 2D-Verbindungstypen von Unity ausprobieren und sehen, wie sie funktionieren, mit Ausnahme von Radverbindung 2D.

Wenn Sie auf Play drücken, werden Sie sehen, dass alle grundlegenden Gameplay-Funktionen für das Spiel bereits implementiert sind. Sie können die Tastaturpfeile verwenden, um den Buchstaben zu bewegen, und die Leertaste, um zu springen.

Abstandsgelenk 2D

Durch das Distanzgelenk kann ein durch 2D-Physik kontrolliertes Sprite um einen bestimmten Punkt gedreht werden, während ein bestimmter Abstand von diesem Punkt beibehalten wird. Mit dem Distanzgelenk 2D erstellen Sie das erste Hindernis, eine schwingende Klinge. Erstelle eine neue GameObject in dem Position (4,75, -1,25, 0) und nenne es Klinge.

Als nächstes erweitern Sie die GameAssets Ordner und öffnen Sie die Plattformen Mappe. Dort finden Sie mehrere Prefabs, die zum Erstellen der Level-Plattformen verwendet werden. Zieh den Platform6 Prefab aus dem Ordner und legen Sie es über die Klinge GameObject. Dies macht es zu einem Kind dieses Objekts.

Nun müssen Sie einige Eigenschaften dieses neuen Spielobjekts bearbeiten. Ändern Sie zuerst die Platform6 Name zu Plattform und dann seine Position zu (-0.07042211, 3.60032, 0). Stellen Sie jetzt das ein Reihenfolge in der Schicht zu 3 in dem Sprite-Renderer Komponente.

In der Box Collider 2D, deaktivieren Sie die Wird von Effector verwendet Parameter und entfernen Sie den angehängten Plattformeffektor 2D Komponente. Zum Schluss fügen Sie ein Starrkörper 2D, einstellen Ist kinematisch um wahr und wenden Rotation einfrieren auf in Z.

Die Plattform, auf der sich die Klinge befindet, ist fertig. Es ist Zeit, die Klinge selbst hinzuzufügen. In der Kostenlose Assets \ Sprite Wählen Sie den Ordner aus AxeBlade sprite und ziehe es über die Klinge GameObject, ein neues Kind erstellen.

Wie Sie wahrscheinlich bemerkt haben, ist das Sprite zu groß und es ist nicht an der richtigen Stelle. Ändere das Position zu (-0,11, 3,56, 0) und das Rahmen zu (0,5, 0,5, 1). Stellen Sie auch das ein Reihenfolge in der Schicht zu 2.

Bevor Sie die Klinge zum Laufen bringen können, müssen Sie ihr mehrere Komponenten hinzufügen. Beginnen Sie mit dem Hinzufügen eines Polygon Collider 2D und ein Starrkörper 2D. Stellen Sie sicher, dass die Masse ist eingestellt auf 10.

Sie können jetzt das hinzufügen Abstandsgelenk 2D. Ergänzen Sie die Abstandsgelenk 2D Komponente. Wie Sie vielleicht bemerken, verfügt diese neue Komponente über mehrere Parameter, die Sie anpassen können, um das beste Ergebnis für Ihr Spiel zu erzielen.

Fürchten Sie sich nicht, Sie werden bald erfahren, was all diese Parameter bewirken und wie Sie sie einstellen können. Sie werden auch bemerken, dass die Komponente an den angehängt ist AxeBlade, Eine grüne Linie erstreckt sich vom AxeBlade zur Mitte des Bildschirms. Dies ist der Ursprungspunkt, der Angeschlossener Anker Eigentum.

Lassen Sie die Szene laufen und behalten Sie die Klinge im Auge. Sie werden sofort bemerken, dass die Klinge über den Bildschirm fliegt, bis sie sich in der Nähe des Ursprungspunkts befindet und dann auf dem Gelenk hin und her rollt. Sie müssen dieses Problem beheben.

Richten Sie Ihre Aufmerksamkeit auf die Abstandsgelenk 2D Komponente in der Inspektor. Der erste Parameter ist Kollision aktivieren. Dies bestimmt, ob die beiden durch das Gelenk verbundenen Objekte miteinander kollidieren können. In diesem Fall möchten Sie nicht, dass dies geschieht. Lassen Sie es also nicht aktiviert.

Der zweite Parameter ist Verbundener starrer Körper. Während ein Ende des Abstandsgelenks immer mit dem Objekt verbunden ist, das die Komponente enthält, können Sie dieses Feld verwenden, um eine Referenz auf ein Objekt für das andere Ende der Verbindung zu übergeben. Wenn Sie dieses Feld leer lassen, verbindet Unity einfach das andere Ende der Verbindung mit einem festen Punkt in der Szene.

Sie möchten sich verbinden AxeBlade zu Plattform in diesem Fall also ziehen Plattform zum Verbundener starrer Körper Feld.

Mit dem Verbindungsaufbau und AxeBlade noch ausgewählt, sollten Sie nun die beiden Objekte sehen, die durch das Gelenk in Szene Aussicht. Sie können die Verbindung überprüfen, indem Sie das ändern Y Wert des AxeBlade. Nichtvergessenstellen Sie das ein AxeBlade Position zurück zu (-0,11, 3,56, 0) wenn Sie damit fertig sind.

Der nächste Parameter der Komponente ist Angeschlossenen Anker automatisch konfigurieren. Aktivieren Sie dieses Kontrollkästchen, wenn Unity die Ankerstelle für das andere Objekt, mit dem diese Verbindung verbunden ist, automatisch festlegen soll. Was ist der Anker, können Sie fragen? Nun, wir werden gleich darüber sprechen, aber jetzt müssen Sie lernen, dass der Ankerpunkt manuell oder automatisch (von Unity) festgelegt werden kann..

In diesem Fall möchten Sie dieses Feld nicht aktivieren, da der Anker manuell gesetzt wird.

Der folgende Parameter ist Anker. Diese gibt an, wo der Endpunkt der Verbindung an das GameObject angehängt wird, wie im lokalen Koordinatenraum des Objekts angegeben. In dem Szene Ansicht mit AxeBlade Wenn Sie diese Option auswählen, können Sie den Ankerpunkt als ungefüllten blauen Kreis sehen, der zentriert ist AxeBlade. Behalten Sie den Standardwert unverändert bei (0, 0)..

Beachten Sie, dass der ungefüllte blaue Kreis, der den ersten Verankerungspunkt der Verbindung darstellt, gefüllt sein kann, wenn Sie derzeit über das Symbol verfügen Verwandeln Werkzeug ausgewählt im Szene Aussicht. Ebenso sehen Sie ein weißes Quadrat, wenn Sie das haben Rahmen Werkzeug ausgewählt. Wenn Sie den Anker von (0, 0) weg bewegen, wird in beiden Fällen angezeigt, dass es sich tatsächlich um einen nicht ausgefüllten Kreis handelt.

Das Angeschlossener Anker Parameter gibt den Ankerpunkt am anderen Ende der Verbindung an. Wenn die Verbundener starrer Körper Feld ist leer, dieser Wert befindet sich im Koordinatensystem der Szene. Jedoch wann Verbundener starrer Körper eingestellt ist, wie es jetzt der ist Angeschlossener Anker Koordinaten beziehen sich auf den lokalen Koordinatenraum des verbundenen starren Körpers. Dieser Ankerpunkt erscheint im obigen Bild als ein ausgefüllter blauer Kreis, der sich über dem Mittelpunkt befindet Plattform Spielobjekt. Wieder können Sie diesen Wert bei (0, 0).

Wie bei der Anker Über diesen Parameter können Sie Unity den Abstand des Gelenks automatisch einstellen lassen, indem Sie die Option aktivieren Distanz automatisch konfigurieren Feld. Wenn diese Option aktiviert ist, erkennt Unity automatisch die Entfernung zwischen den beiden Objekten und legt sie als Entfernung fest, die die Verbindung zwischen ihnen hält. In unserem speziellen Fall möchten wir diese Funktion aktivieren.

Das Entfernung Der Parameter gibt, wie der Name schon sagt, den Abstand zwischen beiden Objekten an. Zurück in Szene In der Ansicht sehen Sie eine kleine grüne Linie, die die Verbindungslinie der beiden Objekte schneidet. Dies ist leicht zu sehen, wenn Sie das AxeBlade-Objekt aus dem verschieben Plattform, wie im Bild unten.

Diese Linie gibt die vom Gelenk erzwungene Entfernung an. Wenn Sie die Szene ausführen, bewegt sich das Gelenk AxeBlade so, dass die Anker Sie haben den Punkt definiert, an dem sich die kleine Linie befindet. Sie können diesen Wert durch Drehen erhöhen oder verringern Verbindung automatisch konfigurieren aus. Denken Sie daran, das einzustellen AxeBlade Position zurück zu (-0,11, 3,56, 0) sobald Sie mit seinen Werten gespielt haben. Auto Configure Distance sollte ebenfalls geprüft werden.

Der nächste Parameter ist Nur maximale Entfernung. Wenn diese Option aktiviert ist, erzwingt die Verbindung nur eine maximale Entfernung, was bedeutet, dass die Objekte einander näher kommen können, jedoch niemals weiter als der in der angegebenen Wert Entfernung Feld. In diesem Beispiel soll die Entfernung festgelegt werden. Lassen Sie diesen Parameter nicht aktiviert.

Der letzte Parameter ist schließlich Kraft brechen. Hier können Sie das Kraftniveau angeben, das Sie zum Brechen der Verbindung verwenden möchten. Wenn das Kraftniveau erreicht wird, wird die Verbindung grundsätzlich gelöscht und die Verbindung zwischen den beiden Objekten wird aufgehoben. Wenn der Wert auf Unendlich gesetzt ist, bedeutet dies, dass das Gelenk unzerbrechlich ist. Für dieses Szenario möchten Sie, dass es unzerbrechlich ist. Lassen Sie das Feld also unverändert.

Da die Klinge wie ein Pendel schwingen soll, ändern Sie sie Drehung zu (0, 0, 310).

Jetzt drücken abspielen, und du wirst das sehen AxeBlade an der hängen Plattform.

Ok, die Klinge schwingt, aber wenn sie den Spieler trifft, passiert nichts. Sie möchten den Spieler töten und ihn am letzten Checkpoint neu starten. Gehen Sie dazu in die GameAssets Ordner und öffnen Sie die Skripte Mappe. Packe die Klinge Skript und fügen Sie es dem hinzu AxeBlade. Wenn Sie drücken abspielen Wieder sollte der Spieler sterben, wenn die Klinge schlägt.

Die endgültige Konfiguration ist folgende:


Zum Abschluss die Klinge GameObject aus dem Hierarchie und lass es in die Hindernisse Mappe. Dadurch wird eine Vorfertigung der schwingenden Klinge erstellt.

Scharniergelenk 2D

Das Scharniergelenk 2D Mit dieser Komponente kann ein von der Starrkörperphysik kontrolliertes GameObject an einem Punkt im Raum befestigt werden, um den es sich drehen kann. Die Drehung kann als Reaktion auf eine Kollision erfolgen oder durch ein Motordrehmoment gestartet werden, das vom Gelenk selbst bereitgestellt wird. Sie können und sollten Grenzwerte festlegen, um zu verhindern, dass das Scharnier eine volle Drehung ausführt.

Um die Grundlagen des Scharniergelenks zu erlernen, erstellen Sie einen doppelten Falltürmechanismus, bei dem der Spieler herunterfallen muss, um das Niveau fortzusetzen. Machen wir das!

Fügen Sie ein neues leeres GameObject hinzu, benennen Sie es Scharnier, und platziere es in der Position (18,92, 0, 0). Dann öffnen Sie die Assets \ Free Assets \ Sprites und ziehen Sie zwei MetalPlatform Sprites in die Scharnier GameObject. Nennen Sie den ersten HingePlat1 und der zweite HingePlat2.

Legen Sie sie nebeneinander; das HingePlat1 sollte bei platziert werden Position (0, 0, 0) und das HingePlat2 beim (2,5, 0, 0). Ändere das Reihenfolge in der Schicht von beiden zu 2.

Um das hinzuzufügen Scharniergelenk 2D Komponente, müssen Sie den Sprites zwei zusätzliche Komponenten hinzufügen. Wähle aus HingePlat1 und fügen Sie ein Box Collider 2D und ein Starrkörper 2D. Unter dem Starrkörper 2D Parameter, überprüfen Sie die Ist kinematisch Eigentum. Wiederholen Sie nun die gleichen Schritte für die HingePlat2 (ohne die Is-Kinematik-Eigenschaft zu überprüfen).

Sie können auch feststellen, dass die Größe des Box Collider 2D ist größer als die HingePlat1 Sprite, was zu einer falschen Kollisionserkennung zwischen dem Player und der Plattform führt. Ändern Sie die Eigenschaft, um das Problem zu beheben Größe (Innerhalb Box Collider 2D) von beiden HingePlat1 und HingePlat2 zu (2,45, 0,5).

Diese HingePlat2 wird die erste Falltür sein. Daher müssen Sie eine neue Komponente mit dem Namen zuweisen Scharniergelenk 2D. Diese Komponente verfügt über mehrere neue Eigenschaften. Wir werden nur die neuen behandeln.

Kollision aktivieren bedeutet, dass die zwei verbundenen Objekte zwischen ihnen kollidieren können. Verbundener starrer Körper gibt an, wo das andere Objekt ist, mit dem diese Verbindung verbunden ist. Ergänzen Sie die HingePlat1 zu diesem Feld. Motor verwenden gibt an, ob der Scharniermotor aktiviert werden soll. Sie sollten diese Eigenschaft überprüfen. Motor Geschwindigkeit Gibt die Motordrehzahl in Grad / Sek an. Stellen Sie es auf -100 (um von der Aufwärtsposition zur ursprünglichen Position zurückzukehren).

Maximale Motorkraft steht für das maximale Drehmoment (oder die maximale Drehung), das der Motor anwenden kann, wenn versucht wird, die Zielgeschwindigkeit zu erreichen. Sie sollten es auf setzen 25Verwenden Sie Limits, repräsentiert, wie der Name schon sagt, die Grenzschwelle für den Drehwinkel. prüfen Sie!

Unterer Winkel ist das untere Ende des Rotationsbogens, das die Begrenzung zulässt, während Oberer Winkel ist das obere Ende des Rotationsbogens, das die Begrenzung zulässt. Ändere das Oberer Winkel zu 60. Drehmoment brechen ist ähnlich wie Kraft brechen und gibt den Rotationsgrad an, der zum Brechen und Löschen des Gelenks erforderlich ist. Infinity bedeutet wiederum, dass es unzerbrechlich ist.

Deaktivieren Sie jetzt die Verbindung automatisch konfigurieren. Sie müssen das einstellen Anker und Angeschlossener Anker manuell. Ersteres sollte auf (-1.12,0) und letzteres (1,09,0). Ihre Szene sollte jetzt wie folgt aussehen:


Die endgültige HingePlat2 Konfiguration ist:

Führen Sie Ihr Spiel aus und testen Sie die erste Falltür.

Wenn alles in Ordnung ist, ist es jetzt an der Zeit, die zweite Falltür zu erstellen. Die Vorgehensweise entspricht genau der vorgenannten Beschreibung; Der einzige Unterschied besteht in den Konfigurationsdetails des Scharniergelenk 2D. Die Hauptschritte sind:

  1. Fügen Sie zwei weitere hinzu MetalPlatform Sprites zum Scharnier GameObject.
  2. Benenne sie HingePlat3 und HingePlat4, und setze das Reihenfolge in der Schicht zu 2 und das Position zu (4,87, 0, 0) und (7,25, 0, 0) beziehungsweise.
  3. Füge hinzu ein RigidBody 2D und ein Box Collider 2D zu beiden Plattformen.
  4. Ändere das Größe von beiden Box Collider 2D bis (2.45,0.5).
  5. HingePlat4 sollte haben Ist kinematisch aktiviert.
  6. Ergänzen Sie die Scharniergelenk 2D Eigentum an der HingePlat3.
  7. Ergänzen Sie die HingePlat4 in die Verbundener starrer Körper des HingePlat3.
  8. Deaktivieren Sie das Kontrollkästchen Verbindung automatisch konfigurieren.
  9. Ändere das Anker zu (1,5, 0) und das Angeschlossener Anker zu (-1, 0).
  10. Überprüf den Motor verwenden Eigenschaft und setzen Sie die Motor Geschwindigkeit zu 100 und das Maximale Motorkraft zu 25.
  11. Überprüf den Verwenden Sie Limits, und das Oberer Winkel sollte sein -60.

Führen Sie Ihr Spiel aus und testen Sie die doppelte Falltür.

Da wir den Spieler zwingen möchten, durch die doppelte Falltür zu gehen, müssen wir einige Wände um ihn herum schaffen. Wähle aus Scharnier GameObject und aus dem Assets \ Free Assets \ Sprites Ordner hinzufügen sechs MetalPlatform in die Scharnier GameObject. Nenne sie aus Wall1 zu Wall4 und ändern Sie die Reihenfolge in der Schicht zu 2.

Stelle das Wall1 in dem Position (-0,9, -1,43, 0) und ändern Sie die Z-Drehung zu 90. Der Rest sollte wie folgt konfiguriert werden:

  • Wall2 Position: (-0,9, -3,8, 0), Z-Drehung: 90 

  • Wall3 Position: (8,2, 1,55, 0), Z-Drehung: 90

  • Wall4 Position: (8,2, 3,95, 0), Z-Drehung: 90

Nun sollten Sie für jede Wand eine zusätzliche Komponente hinzufügen, a Box Collider 2D. Für jeden Box Collider 2D ändere das Größe zu (2,21, 0,63). Als nächstes fügen Sie ein Plattformeffektor 2D zu jeder Wand und setzen Sie die Oberflächenbogen zu 360 und das Seitenbogen zu 180. Gehe zurück zum Box Collider 2D und umdrehen Wird von Effector verwendet auf.

Das Endergebnis sollte ähnlich sein:

Zum Schluss ziehen Sie die Scharnier GameObject in die GameAssets \ Hindernisse Ordner zum Erstellen Ihres zweiten Prefab.

Zielverbindung 2D

Das Zielgelenk 2D verbindet sich mit einem bestimmten Ziel und nicht mit einem anderen starren Körperobjekt, wie dies normalerweise bei anderen Gelenken der Fall ist. Wir werden dieses Gelenk anwenden, um eine Hindernisplattform zu schaffen, die sich nach oben und unten bewegt.

Als Erstes müssen Sie die Plattform selbst erstellen. Auf der Kostenlose Assets / Sprites Ordner, dort finden Sie den MetalPlatform Sprite Ziehen Sie es und platzieren Sie es in der Szene.

Ändern Sie den Namen in RisingPlatform und sein Position zu (35, -6, 0) und stellen Sie das ein Reihenfolge in der Schicht zu 2. Sie benötigen einige Komponenten, damit dies funktioniert. Füge hinzu ein Starrkörper 2D und ein Box Collider 2D. Als nächstes stellen Sie die Masse zu 20 und prüfe Einfrieren von Position X und Freeze Rotation Z. Auf der Box Collider 2D, Stellen Sie sicher, dass Größe ist eingestellt auf (2,35, 0,55). Zum Schluss stellen Sie das ein Schwerkraftskala zu 0 damit das Objekt nicht von der Schwerkraft beeinflusst wird.

Die Grundkomponenten sind jetzt fertig. Nun ist es Zeit für Sie, die Zielverbindung 2D Komponente. Wie bereits erwähnt, die Zielverbindung 2D verbindet sich nicht mit einem anderen Objekt mit einem starren Körper; Stattdessen wird eine Verbindung zu einem bestimmten Ziel hergestellt. Dies ist ein Federgelenk und kann zum Aufnehmen und Bewegen von Objekten, die unter der Schwerkraft wirken, wie unsere Bewegungsplattform verwendet werden.

Betrachten wir die Komponente selbst genauer. Das Anker funktioniert genau wie in den vorherigen Verbindungen, es ist also nicht nötig, es zu erklären. Das Ziel Legt die Weltkoordinaten fest, auf die sich das Gelenk zu bewegen versucht. Dies ist ein sehr wichtiges Feld, da dieses Gelenk versuchen wird, einen linearen Abstand zwischen Null und Null zu halten Anker und das Ziel Punkte. Für dieses Beispiel möchten Sie die Ziel sein (35, -6).

Als nächstes hast du Ziel automatisch konfigurieren. Wenn diese Eigenschaft aktiviert ist, berechnet das Gelenk das Ziel selbst. Wenn Sie diese Option aktiviert lassen, ändert sich das Ziel, wenn sich die Plattform bewegt. Da Sie dies nicht wünschen, lassen Sie dieses Kontrollkästchen deaktiviert (deaktivieren Sie das Kontrollkästchen) Ziel automatisch konfigurieren).

Das Folgende ist Max Force; Hier legen Sie die Kraft fest, die das Gelenk beim Versuch, die Zielposition zu erreichen, ausüben kann. Setzen Sie diesen Wert auf 80.

Das Dämpfungsverhältnis ist der Grad, bis zu dem Sie die Federschwingung unterdrücken möchten. Dieser Wert kann von 0 bis 1 gehen, wobei 1 keine Bewegung bedeutet. Sie möchten, dass sich die Plattform frei bewegen kann. Setzen Sie dieses Feld also auf 0. Als nächstes hast du Frequenz die, wie der Name schon sagt, die Frequenz einstellt, mit der die Feder schwingt, während versucht wird, das Ziel zu erreichen. Stellen Sie diesen Parameter auf 5.

Schließlich ist das letzte Kraft brechen, Dies ist identisch mit den vorherigen Verbindungen. Lassen Sie den Wert auf dem Standardwert. 

Da Sie möchten, dass sich Ihre Plattform im Laufe der Zeit bewegt, müssen Sie die Plattform ändern Ziel Position von Zeit zu Zeit. Glücklicherweise haben Sie bereits das Skript, um damit umzugehen. Gehe zum Skripte Ordner finden Sie die TracktorPlatform-Skript, und fügen Sie es Ihrem Spielobjekt hinzu. einstellen Ziel A zu (35, -6) und Ziel B zu (35, 0). Das Zeit sollte sein 2.

Am Ende sollte Ihre Komponente so aussehen:

Wenn Sie drücken abspielen, Sie sollten in der Lage sein, die resultierende Zielverbindung wie beabsichtigt zu sehen. Vergessen Sie nicht, ein Fertighaus zu erstellen, wie Sie es mit den vorherigen Hindernissen getan haben, und platzieren Sie es in der Hindernisse Mappe.

Feste Verbindung 2D

Die feste Verbindung 2D wird verwendet, um zwei Objekte, die von der Starrkörperphysik gesteuert werden, relativ zueinander zu halten. Daher sind beide Objekte immer um eine bestimmte Position und einen bestimmten Winkel versetzt.

Um dieses Gelenk zu verwenden, erstellen Sie eine Metallplattform, die nur bewegt werden kann, wenn der Spieler einen daran befestigten Magneten bewegt. Der Spieler muss den Magneten drücken, um die Plattform aus dem Weg zu räumen und dann auf der Ebene voranzukommen.

Erstellen Sie zunächst ein leeres GameObject, und geben Sie ihm einen Namen MagnetPlatform, und sein setzen Position zu (41,81, 5,22, 0). Als nächstes die Magnet Sprite aus der Sprites Ordner und legen Sie es über die MagnetPlatform. Stellen Sie das ein Magnet Position zu (0,55, 3,15, 0) und das Reihenfolge in der Schicht zu 3.

Als nächstes fügen Sie ein Starrkörper 2D Komponente und a Circle Collider 2D. Stellen Sie das ein Masse zu 200 und umdrehen Freeze Rotation Z auf. Stellen Sie sicher, dass Radius auf der Circle Collider ist eingestellt auf 0,4. Am Ende dein Magnet sollte ungefähr so ​​aussehen:


Nun aus dem Sprites Ordner ziehen Sie die MetalPlatform Sprite in die MagnetPlatform GameObject. Stellen Sie das ein Position des MetalPlatform zu (0,57, -1,73, 0), das Drehung zu (0, 0, 90), und das Rahmen zu (2, 1, 1). Stellen Sie das ein Reihenfolge in der Schicht zu 3.

Fügen Sie anschließend die folgenden Komponenten hinzu: Starrkörper 2D, und ein Box Collider 2D. Auf Starrkörper 2D, stellen Sie das ein Masse zu 1000 und aktivieren Freeze Rotation Z. Endlich auf BoxCollider 2D, stellen Sie das ein Größe zu (2,31, 0,52).

Nun, da alles fertig ist, ist es Zeit für Sie, die feste Verbindung 2D zu konfigurieren und die Verbindung zwischen dem Magneten und der Metallplattform herzustellen. Mit MetalPlatform ausgewählt, fügen Sie das hinzu FixedJoint 2D Komponente.

Dieses neue Gelenk ermöglicht es zwei Spielobjekten mit einem starren Körper, einen relativen linearen und Winkelversatz zueinander aufrechtzuerhalten. In diesem Fall soll die Metallplattform einen gewissen Abstand zum Magneten haben.

Diese linearen und winkeligen Versätze beziehen sich auf die relativen Positionen und Orientierungen der beiden verbundenen Spielobjekte. Dies bedeutet, wenn Sie die Position eines der Objekte in ändern Szenenansicht, Sie werden auch die Offsets aktualisieren.

Dieses Gelenk verwendet eine simulierte Feder, die so steif wie möglich ist. Es ist jedoch möglich, die Stärke der Feder zu ändern und schwächer zu machen. Diese simulierte Feder wendet ihre Kraft zwischen den Objekten an und ist dafür verantwortlich, die gewünschten Versätze einzuhalten.

Wenn Sie sich die Komponente selbst ansehen, finden Sie einige Felder, die Sie bereits kennen.

Mit Ausnahme von zwei dieser Felder funktionieren alle Parameter genau wie bei den anderen Gelenken, so dass sie nicht nochmals erläutert werden müssen. Hinsichtlich der Dämpfungsverhältnis, Dieser Parameter gibt den Grad an, bis zu dem die Federschwingung unterdrückt werden soll. Sie können Werte von 0 bis 1 einstellen, wobei 1 keine Bewegung bedeutet.

Das Frequenz ist die Frequenz, bei der die Feder oszilliert, während sich die beiden verbundenen Objekte dem Abstand nähern. Dieser Parameter kann Werte von 1 bis 1000000 annehmen. Je höher der Wert, desto steifer wird die Feder.

Beachten Sie, dass höhere Werte eine steifere Feder bedeuten, wenn Sie das einstellen Frequenz auf 0 wird die Feder völlig steif sein.

Nun, was das Hindernis angeht, das Sie bauen wollen, müssen Sie nur noch ziehen Magnet Spielobjekt zum Verbundener starrer Körper Feld. Alle anderen Parameter können mit ihren Standardwerten belassen werden.

Drücken Sie abspielen und testen Sie das neue Hindernis.

Nun, da das Hindernis fertig ist, erstellen Sie ein Prefab davon, indem Sie das GameObject auf das Symbol ziehen Hindernisse Mappe.

Fazit

Damit ist das erste Tutorial zu Unity Joints 2D abgeschlossen. Sie haben vier Gelen