Bewegungsskripte

Bei dieser Kategorie von Skripten geht es darum, Spielobjekte zu bewegen, egal ob es sich um den Spieler, Gefahren oder nicht spielende Charaktere handelt.

Da sie alle auf Physik basieren, benötigen sie fast alle einen Rigidbody2D, um Bewegung zu erzeugen, und möglicherweise eine Art Collider2D, wenn Sie möchten, dass das Objekt mit anderen interagieren kann.

Automatische Bewegung

Benötigt: Rigidbody2D

AutoMove wendet eine kontinuierliche Kraft auf das Spielobjekt an. Nützlich für Dinge wie Raketen, Pfeile und andere selbständige Objekte.

Die Richtung wird durch einen Vector2 ausgedrückt und beinhaltet die Stärke, und sie kann absolut oder relativ zur Rotation des Objekts sein.

In der Szenenansicht stellt ein grüner Pfeil die Richtung des Stoßes dar, während seine Größe die Stärke symbolisiert.

Hinweis: Wenn Sie erwägen, dieses Skript auf einem vorgefertigten Objekt zu verwenden, das mit Hilfe des Object Shooter-Skripts erstellt wurde, denken Sie daran, dass Object Shooter bereits beim Aufnehmen von Objekten eine Kraft auf diese ausübt. Im Falle eines nicht selbstfahrenden Objekts (z.B. Katapultgestein) benötigen Sie keine automatische Bewegung auf dem Projektil.

Automatische Drehung

Benötigt: Rigidbody2D

AutoRotation wendet eine kontinuierliche Rotation auf ein Spielobjekt auf der Z-Achse an. Es kann verwendet werden, um einem dekorativen Objekt Bewegung zu verleihen, aber auch um rotierende Hindernisse in Verbindung mit einem Spielplatzbedingungen-Skript zu erzeugen. Sie können die Geschwindigkeit festlegen, und wenn Sie eine negative einstellen, dreht sich das Objekt gegen den Uhrzeigersinn.

In der Szenenansicht stellt ein grüner Pfeil die Richtung der Drehung dar.

Kameraverfolger

Benötigt: Kamera

Verwenden Sie CameraFollow für ein Spielobjekt, das eine Kamerakomponente enthält. Dies ist nützlich für Action-Abenteuerspiele, bei denen die Kamera auf den Spieler ausgerichtet ist. Weisen Sie ein sich bewegendes Spielobjekt in der Szene als Ziel zu.

Hinweis: Fügen Sie dieses Skript der Kamera hinzu, nicht dem Objekt, dem gefolgt wird!

Wenn Sie die Eigenschaft Use Bounds aktivieren, können Sie die Bewegung der Kamera auf ein Rechteck beschränken.

Sie können die Werte der Grenzen über den Inspektor oder in der Szenenansicht mit dem gelben Rechteck-Gizmo anpassen:

Zielverfolgung

Benötigt: Rigidbody2D

FollowTarget zwingt das Spielobjekt, einem bestimmten Ziel auf unbestimmte Zeit zu folgen.

Mit der Option Look at target kann ausgewählt werden, ob sich das Objekt so ausrichtet, dass es das Ziel betrachtet. Weitere Informationen dazu finden Sie im Move-Skript.

Tipp: Sie können dieses Skript einem Feind zuweisen und den Spieler als Ziel verwenden, um eine konstante Bedrohung zu erstellen, oder Sie können eine Reihe von Charakteren erstellen, indem Sie sie mit einer Reihe von Follow Target Skripten aneinander verketten.

Sprung

Benötigt: Rigidbody2D (und einen Kollidierenden, um landen zu können).

Ein einfaches Skript, das ein Objekt nach oben treibt, wenn eine bestimmte Taste gedrückt wird, nützlich, um ein Sprungverhalten zu erzeugen. Die Key-Eigenschaft ist die Tastaturtaste, die zum Springen verwendet wird.

Um zu verhindern, dass der Spieler in der Luft springt, überprüfen Sie durch auswählen des Tag Check ground. Dann musst du alles markieren, was du als Boden betrachten möchtest. Sobald das Spielobjekt mit dem "Boden" kollidiert, kann es erneut springen.

Wenn Check ground nicht aktiviert ist, kann der Charakter mehrmals in die Luft springen. Das kann nützlich sein, um mehr als einen Sprung zu erzeugen.

Tipp: Vielleicht möchten Sie die Eigenschaft Sprungkraft zusammen mit der Reibungseigenschaft des Rigidbody2D abstimmen, um genau die Sprungdynamik zu erhalten, die Sie wollen.

Bewegung

Benötigt: Rigidbody2D

Dieses Skript wendet eine konstante Kraft auf das Spielobjekt auf zwei Achsen an, während Sie entweder die Pfeiltasten oder WASD drücken.

Die Eigenschaft Type of Control weist das verwendete Steuerschema zu. Sie können zwei dieser Skripte in der Szene haben und jedem Spieler eines zuweisen, um Mehrspielerspiele zu erstellen, die auf derselben Tastatur gespielt werden.

Die Eigenschaft Movement Type erlaubt es, die Bewegung auf nur eine Achse zu beschränken. Du kannst es dir vorstellen, als ob es sich auf einem Geländer bewegt, aber du kannst es auch mit anderen Bewegungsskripten kombinieren, um eine feinere Bewegung zu erzeugen. Beispielsweise können Sie eine Platformer-Steuerung erstellen, indem Sie dieses Skript verwenden und es in Verbindung mit einem Jump-Skript auf die horizontale Achse zwingen.

Hinweis: Denken Sie daran, dass selbst wenn sich die von Ihnen angewandte Kraft auf einer Achse befindet, nichts das Objekt daran hindert, sich infolge einer Kollision auf der anderen Achse zu bewegen, also wenn dieses Spielobjekt von einem anderen getroffen wird, was das Gameplay stören könnte. Um dies zu berücksichtigen, aktivieren Sie die Option Freeze Position für die entsprechende Achse am Rigidbody2D.

Die Ausrichtung (Orientation) gibt Ihnen die Kontrolle darüber, ob sich das Objekt in Fahrtrichtung drehen soll. Dies ist nützlich für Fahrzeuge (Raumschiffe, Autos, Boote, etc.) und im Allgemeinen Sprites, die von oben gesehen werden.

Wenn diese Option aktiviert ist, können Sie mit der Eigenschaft Use Side wählen, welche Seite als Vorwärtsrichtung verwendet wird. Dies hängt davon ab, wie das Sprite gezeichnet wurde.

Im obigen Bild zum Beispiel würdest du es für das Raumschiff auf Oben, für die Fische auf Unten einstellen, während du für die Biene die Ausrichtung weglassen würdest, weil sie von der Seite und nicht von oben gerahmt ist, so dass das Drehen des Sprites seltsam aussehen würde.

Patrouillengang

Benötigt: Rigidbody2D

Das Patrol-Skript ermöglicht es Ihnen, ein Objekt entlang eines Pfades zu bewegen, der aus Wegpunkten besteht. Die Wegpunkte sind in einer Liste (Stopps) organisiert, so dass Sie sie leicht hinzufügen, entfernen oder neu anordnen können. Die Schaltfläche Wegpunkte zurücksetzen löscht die Liste und fügt dann nur einen Halt hinzu.

Das Spielobjekt kehrt zum Ausgangspunkt zurück, sobald alle Wegpunkte gegangen sind, und startet dann auf dem Pfad neu.

Wie bei anderen Bewegungsskripten gibt dir Orientation die Kontrolle darüber, wie du dein Sprite während der Bewegung orientieren kannst. Siehe seine Beschreibung unter Bewegen für Zuginformationen.

Wenn Sie Wegpunkte erstellen, werden sie in der Szenenansicht als Translate-Handles visualisiert. Sie können sie hier drin oder im Inspektor verschieben, indem Sie die Positionswerte ändern.

Ein kleiner blauer Pfeil markiert die Bewegungsrichtung.

Drücken

Benötigt: Rigidbody2D

Durch Drücken wird eine kontinuierliche Kraft in eine Richtung ausgeübt, wenn eine bestimmte Taste auf der Tastatur gehalten wird. Es ist nützlich, eine Steuerung für Fahrzeuge, Raketen usw. zu erstellen, und Sie können sie in Kombination mit Rotate (siehe unten) verwenden, um das Steuern zu ermöglichen.

In der Szenenansicht sehen Sie einen grünen Pfeil, der Ihnen die Richtung und Stärke der Kraft anzeigt (siehe unten).

Durch Einstellen der Axis-Eigenschaft können Sie steuern, in welche Richtung Sie schieben möchten (Y bedeutet nach oben, X bedeutet nach rechts). Um einen Schub in die entgegengesetzte Richtung zu erreichen, stellen Sie einfach die Schubkraft auf einen negativen Wert ein.

In Verbindung mit Axis steuert die Eigenschaft Relative Axis, ob sich der Druck mit dem Spielobjekt "dreht" oder ob er absolut angewendet wird. Du wirst keine Änderung im Gizmo sehen, wenn das Objekt keine Drehung hat. Um den Unterschied zu verstehen, schauen Sie sich die folgenden Bilder an.

Bei eingeschalteter Relativer Achse bedeutet das Drehen des Objekts, dass sich die Richtung mit ihm dreht (sie befindet sich im Wesentlichen im lokalen Raum):

Wenn die Relative Achse ausgeschaltet ist, ist die Richtung absolut (hauptsächlich im Weltraum):

Der Tooltip unter der Option zeigt die Änderung an. Meistens möchten Sie es eingeschaltet lassen, damit sich das Fahrzeug in seiner Vorwärtsrichtung bewegt.

Drehen

Benötigt: Rigidbody2D

Drehen ist ein Skript, das ein Drehmoment aufbringt - also eine Drehung um die Z-Achse. Wie bei Bewegen wird dies mit den Pfeiltasten nach links/rechts oder den AD-Tasten gesteuert. Sie können es zusammen mit einem Drücken-Skript verwenden, um eine fahrzeugähnliche Steuerung zu erstellen, mit der Sie steuern und sich in die Richtung bewegen können, auf die das Fahrzeug zeigt.

Tipp: Wenn Ihnen der Drehpunkt Ihres Objekts nicht gefällt, können Sie es auf ein anderes Spielobjekt überlagern und dann das Rotate-Skript auf dieses anwenden. Denken Sie zum Beispiel an ein Fahrrad, bei dem der Drehpunkt auf dem Hinterrad liegt. Auf diese Weise haben Sie viel mehr Kontrolle über das Center (gizmo), ohne es im eigentlichen Sprite-Asset ändern zu müssen.

Spaziergang

Benötigt: Rigidbody2D

Bei Spaziergang bewegt sich das Spielobjekt zufällig in kurzen Abständen. Die Bewegungsgeschwindigkeit wird durch die Geschwindigkeit (Speed) gesteuert, die wie üblich mit der Reibungseigenschaft im Rigidbody2D zusammenhängt, damit es sich richtig anfühlt.

Richtungswechselintervall (Direction Change Interval) steuert das Timing (in Sekunden), nach dem das Objekt in eine neue Richtung geht. Eine sehr niedrige Einstellung bedeutet viele kürzere, plötzliche Bewegungen.

In der Nähe des Startpunktes (Keep Near Starting Point) bleiben bedeutet, dass das Spielobjekt ab und zu einen Check durchführt, und wenn es zu weit weg ist, geht es in seiner nächsten Bewegung zum Startpunkt.

Hinweis: Wenn Sie die Geschwindigkeit zu hoch einstellen oder nicht genügend Reibung auf dem Rigidbody2D vorhanden ist, kann das Objekt möglicherweise noch sehr weit weglaufen!

Wie bei anderen Bewegungsskripten gibt dir Orientation die Kontrolle darüber, wie du dein Sprite während der Bewegung orientieren kannst. Siehe seine Beschreibung im Bewegen-Skript für Zuginformationen.

Spielplatz

Erste Schritte

Referenzhandbuch