Ich habe eine 2D-Skeleton Animation des menschlichen Laufzyklus - das ist in Ordnung. Ich bemühe mich schwer zu programmieren, dass STOP nur Hände Animation aber Beine sollten nicht (auf einer Spielereingabe - zum Beispiel auf Leertaste drücken) Ist es möglich, Animation Keyframes/Kurven/Eigenschaften unter bestimmten Bedingungen oder auf andere Weise zu erreichen Dies.Unity 2D-Animation läuft teilweise
0
A
Antwort
0
Haben Sie mehrere Zustände in Ihrem Animations-Controller. Lassen Sie einen Staat haben beide Hände und Beine Animation, und die andere haben nur Beine Animation. Übergang vom ersten zum anderen Zustand durch Hinzufügen eines Parameters in Ihrem Animations-Controller. Lassen Sie den Parameter ein bool sein.
Ex: Von Animation zur Ruhe Animation läuft, haben eine Bool stopRunning
und von Rest-Animation Animation laufen, haben einen Bool startRunning
Also, wenn die statRunning
Bool gesetzt, Animation die Zeichen Transite von Rest-Animation zum Laufen und wenn die stopRunning
Bool gesetzt ist, wird der Charakter zur Ruhe gelegt.
dann in Ihrem Code, wenn die Leertaste gedrückt wird, rufen Sie diese Funktionen
public void StopRunning() {
if (_PlayerAnimator.isActiveAndEnabled) {
_PlayerAnimator.SetBool("stopRunning", true);
_PlayerAnimator.SetBool("startRunning", false);
}
}
public void StartRunning() {
if (_PlayerAnimator.isActiveAndEnabled) {
_PlayerAnimator.SetBool("startRunning", true);
_PlayerAnimator.SetBool("stopRunning", false);
}
}
Ich dachte so, aber Animation zwischen den Staaten nicht wie erwartet sein. – Yogesh
Vertrau mir, sie werden es sein. Tweak die Parameter und reduzieren Sie die Übergangsdauer auf 0. Sie werden bissige Animation bekommen! –