Xammex Geschrieben 11. November 2020 Melden Share Geschrieben 11. November 2020 Hi, folgendes Problem: Ich Steuere meinen Player links/rechts mit GetAxis. Dabei klappt auch alles wunderbar der Wert wird erhöht von 0 auf 1 oder -1 sieht auch sehr flüssig aus in der Animation. Ist der Input dann 0 geht es auch fein flüssig zurück auf 0 in der Animation. Jetzt zum Problem, wenn ich aber von links direkt nach rechts gehe springt der Animator Wert direkt von -1 auf 0 und von dort wieder flüssig auf 1 weiter. Das hat natürlich zur folge das die Animation vom laufen sehr laggi bzw sprunghaft aussieht. Jemand eine Idee wie ich sowas regeln kann bzw was da so die gängige Praxis ist. Danke.. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 11. November 2020 Melden Share Geschrieben 11. November 2020 GetAxis hat halt so ein Verhalten, das irgendwann in den Kindertagen von Unity mal als gute Idee durchging, um den Unterschied zwischen Gamepads und Tastatur auszugleichen. Die Art, wie die das gemacht haben, ist... ich würde sagen: Ganz nett für Prototypen. Aber gefühlt möchte man sich gerne recht schnell davon verabschieden und GetAxisRaw benutzen. Das Smoothing machst du dann selbst, zum Beispiel so: private float input = 0f; public float smoothSpeed = 5f; private void Update() { input = Mathf.MoveTowards(input, Input.GetAxisRaw(...), smoothSpeed * Time.deltaTime); animator.SetFloat(..., input); } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Xammex Geschrieben 12. November 2020 Autor Melden Share Geschrieben 12. November 2020 Vielen dank Das hilft mir sehr weiter. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.