Читать книгу C# - Easy Programmieren - Sven Heinrich - Страница 5

Schritt 2: Spieler-Animation vorbereiten

Оглавление

Nachdem die grundlegenden Vorbereitungen erst einmal abgeschlossen sind, wirst Du direkt eine Spieler-Animation anlegen.

Hierzu ist es notwendig, dass die Einstellungen vom Bild „SpielerBall“ angepasst werden. Wähle also die Datei aus und ändere im Inspector folgende Einstellungen und bestätige auf „Apply“:

 Sprite Mode von „Single“ auf „Multiple“

 Default – Max Size von „2048“ auf „512“

Anschließend klickst Du auf den Sprite Editor:

In diesem Editor kannst Du verschiedene Bilder aus einer Datei auswählen und diese separat speichern. Zum einen kannst Du das manuell machen, bzw. auch anpassen. Aber es geht in diesem Fall auch einfacher. Öffne hierzu den Reiter „Slice“ und bestätige einmal die automatische Auswahl mit Klick auf den Button „Slice“.

Nun sind die einzelnen Bilder ausgewählt und Du kannst das Ganze auf „Apply“ bestätigen und das Fenster schließen.

Im „Sprite“-Ordner siehst Du nun unterhalb der „SpielerBall“-Datei die einzelnen Bilder.

Um eine Animation in Unity 3D zu erstellen, gibt es unter anderem eine einfache Methode. Sofern es sich um eine Animation aus einzelnen Bildern handelt, kannst Du nun wie folgt vorgehen. Wähle die Dateien „SpielerBall_0“ bis „SpielerBall_5“ aus und ziehe sie alle zusammen in das Scene-Fenster. Es öffnet sich nun ein Fenster mit der Abfrage, an welchem Ort Du die Animation speichern möchtest. Wähle hierzu den „Animations“-Ordner aus und benenne die Datei. Ich nenne sie in diesem Fall einfach „Player“. Anschließend das Ganze bestätigen und die Animation ist angelegt.

Außerdem wurde ein neues Objekt in der Hierarchy angelegt.

Dieses kannst Du in „Player“ umbenennen.

Als nächsten Schritt muss die Animation etwas angepasst werden. Schließlich soll diese zum einen nicht ständig abgespielt werden und zum anderen muss definiert werden, welches Bild das „Standard“-Bild ist. Wähle hierzu das Fenster „Animations“ aus. Dieses findest Du im unteren Bereich neben der „Console“. Sollte es dort nicht vorhanden sein, kannst Du es über Window – Animation – Animation einfügen. Wenn Du nun das Objekt „Player“ auswählst, siehst Du die Animation.

Über den Reiter „Player“ kannst Du über „Create New Clip …“ einen neuen Clip hinzufügen. Speichere diesen ebenfalls im Ordner „Animations“ mit der Benennung „Idle“. Anschließend ziehst Du das Fenster „Animation“ nach oben neben „Scene“. So kannst Du nun leichter das Standardbild der Animation „Idle“ zuordnen. Gehe dazu in den Ordner „Sprites“, wähle die Datei „SpielerBall_0“ und ziehe sie direkt auf „0 Sekunden“.

Da die Animation „Player“ zuerst angelegt wurde und danach die Standardposition „Idle“, muss die Zuordnung der Animationen geändert werden. Wenn Du im Moment das Spiel startest, dann startet sofort die Animation. Wähle hierzu diesmal den Reiter „Animator“ aus. Diesen solltest Du im oberen Teil, neben „Game“ finden. Sollte dieser dort nicht sein, kannst Du in auch wieder über Window – Animations – Animator einfügen.

Hier siehst Du, dass nach dem Aufruf des Player-Objektes automatisch die Animation „Player“ abgespielt wird. Es soll aber erst die „Idle“-Animation abgespielt werden und nur unter gewissen Bedingungen die „Player“-Animation. Nämlich dann, wenn Du von einer zur anderen Plattform springst. Die Änderung erfolgt einfach mit einem Rechtsklick auf das Feld „Idle“ und der Auswahl „Set as Layer Default State“.

Nun wird standardmäßig erst diese Animation (worin nur ein Bild ist) abgespielt.

Damit es zukünftig klarer wird, wann die Animation beim Springen abgespielt wird, solltest Du nun die Animation „Player“ in „Jump“ (für springen) umbenennen. Das machst Du indem Du die Animation auswählst und im Inspector den Namen änderst.



Nun legst Du noch einen Parameter an. Damit kannst Du später steuern, wann die Jump-Animation ausgeführt wird. Füge hierfür im Feld „Animator“ und Reiter „Parameter“ über das „+“-Symbol“ einen „Bool“-Parameter hinzu.

Den Parameter kannst Du ebenfalls „Jump“ nennen. Nun müssen die Verbindungen zwischen den einzelnen Animationen angelegt werden. Mit einem Rechtsklick auf die Animation „Idle“ wählst Du diesmal „Make Transition“ aus und wählst die Verbindung zu „Jump“.

Nun noch umgekehrt. Rechtsklick auf „Jump“, „Make Transition“ und auf „Idle“ klicken. Es sind nun zwei Verbindungen angelegt.

Als Nächstes muss bei jeder Verbindung der „Bool“-Parameter hinterlegt werden. Wähle zuerst die Verbindung von „Idle“ zu „Jump“ aus. Im Inspector siehst Du nun ein Feld „Conditions“.

Über das „+“-Symbol fügst Du automatisch (da Du nur einen angelegt hast) den Parameter ein. Dieser hat den Wert „true“.

Bei der Verbindung „Jump“ zu „Idle“ fügst Du ebenfalls den Parameter ein, setzt diesen aber auf „false“.

Was bedeutet das? Im späteren Verlauf wirst Du einen Code entwickeln, der besagt, wenn der Wert von „Jump“ true ist, die Jump-Animation abgespielt und wenn der Wert false ist, auf die Animation „Idle“ zurückgegangen wird. Als letzten Punkt in diesem Schritt, stellst Du noch ein, dass die „Jump“-Animation nur einmal und nicht mehrmals hintereinander ausgeführt wird. Doppel-Klicke hierzu auf die „Jump“-Animation und deaktiviere im Inspector das Feld „Loop Time“.

Die Spieler-Animation ist nun in Unity 3D angelegt und Du kannst mit dem nächsten Schritt weitermachen.



C# - Easy Programmieren

Подняться наверх