2016-04-28 4 views
0

Aktuelle SituationWie ein animiertes AI Charakter in Unity3d bewegen

Ich habe einen Charakter und ein "Walking" animation.The Animation in einem Animation-Controller verwendet wird. Alles zugewiesen und erledigt mit dem Inspector, keine Skripte beteiligt. "Schleife" ist aktiv.

Wenn ich den "Play" -Knopf drücke, bewegt sich die Position des Charakters entsprechend der Animation.

Problem

Sobald die Animation das Ende erreicht hat, wird der Charakter zurück zum Ursprungspunkt verlagert.

Frage

Wie erreiche ich, dass der Charakter zu Fuß nach vorne weiter?

ich gelesen, dass ich aktivieren sollte, die ich habe „root Bewegung anwenden“, aber das alles nicht ändert, die Position auf den Ursprung noch den Charakter zurück, nachdem die Animation endet bewegt wird.

+0

Ich denke, Animation nicht wirklich nur bewegen sollte Charakter aussehen Gehen oder Laufen und Rest soll durch 'Rigidbody' behandelt werden. –

Antwort

2

Machen Sie alle Ihre Animationen an Ort und Stelle und bewegen Sie Ihr Objekt über Code, ändern Sie die Position des Spielers mit Code und lassen Sie Ihre Animation Animation ausführen.

+0

Die Animationen haben "Geschwindigkeit" durch Neupositionierung in ihnen. Einer rennt, der andere kauert, ein anderer im Leerlauf. Ich möchte wirklich kein Skript für jede der Animationen schreiben, wenn die Positionierung bereits in der Animation ist. Oder können Sie die Positionsinformationen aus der Animation extrahieren? – Roland

0

Ich glaube wirklich nicht, dass dies ohne irgendwelche Skripte getan werden kann oder sollte. Auch aktuell wiedergegebene Animationen sollten sowohl von den Parametern des Animators als auch von der Bewegung selbst abhängen. Und Sie müssen nicht für jeden Staat ein eigenes Skript schreiben. Ein Skript kann die Benutzereingabe erhält, Animator Parameter zuweisen (zum Beispiel, wenn der Spieler LeftCtrl gedrückt hatte es Crouch 'Parameter auf wahr setzt und Animator triggert verwandten Animator Zustands-/Übergang) und Positionsaktualisierungs Zeichen abhängig von der Geschwindigkeit und Richtungswerten. Um einige Zeit Suche nach geeignetem Wert der Bewegungsgeschwindigkeit speichern Sie Ihre Animation passen, können Sie eine Animationsgeschwindigkeit Multiplikator für jeden Staat in dem Animator hinzufügen und ein Parameter machen. In diesem Fall ändert eine Variable mit Geschwindigkeitswert die tatsächliche Bewegungsgeschwindigkeit und die Animationsfrequenz.

Verwandte Themen