Sakres01 Geschrieben 9. Dezember 2015 Melden Share Geschrieben 9. Dezember 2015 Hey, ich habe ein kleinen Problem. 1. Ich habe für einen Character eine kleine Fun-Animation erstellt, also wenn ich E drücke, dann macht er was lustiges. Ich habe im Animator auch schon eingestellt, dass die Sequenz immer zu Ende laufen soll, bevor die nächste startet. Wenn ich allerdings auf W drücke, die Taste mit welche er sich nach vorne bewegen soll, dann bewegt sich mein Character schon nach vorne, bevor diese Fun-Animation vorbei ist und ich hätte gerne, dass das nicht mehr funktioniert und der Character sich nur noch bewegt, wenn auch die Laufanimation an ist. Wie kann ich da mein C#-Script am besten gestalten, damit das alles so funktioniert? 2. Man hat ja über den Animator die Möglichkeit die Geschwindigkeit der Animation zu erhöhen. Wenn ich jetzt z.B. wollte, dass eine Laufanimation schneller wird (Wirklich nur die Laufanimation, nicht die Geschwindigkeit vom Character selber), wenn ich z.B. Pfeiltaste nach oben gedrückt halte, hat man da die Möglichkeit, im Script, irgendwie auf diesen Speed-Multiplikator (oder wie man es auch immer nennen will^^) zuzugreifen? Wenn ja, wie müsste es dann aussehen? Viele Dank schon einmal im Voraus Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MarcoMeter Geschrieben 9. Dezember 2015 Melden Share Geschrieben 9. Dezember 2015 Zu 1, du kannst eine Abfrage machen, ob der Animator im Zustand deiner Fun-Animation ist. Zu 2 (Speed), hier würde ich auch noch vorher den State des Animators prüfen, damit auch nur der Zustand der Laufanimation schneller wird. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sakres01 Geschrieben 9. Dezember 2015 Autor Melden Share Geschrieben 9. Dezember 2015 @MarcoMeter so weit habe ich auch schon gedacht. In der Frage geht es mir eher darum, wie ich das ganze Umsetze, da mir momentan nichts dazu einfällt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MarcoMeter Geschrieben 10. Dezember 2015 Melden Share Geschrieben 10. Dezember 2015 z.B. Animator anim; int walkState = Animator.StringToHash("Base.Walk"); void Start (){ anim = GetComponent<Animator>(); } void FixedUpdate () { AnimatorStateInfo currentBaseState = anim.GetCurrentAnimatorStateInfo(0); if (currentBaseState.nameHash == walkState){ } } So ungefähr kannst du die Zustände abfragen. Schau dir einfach mal gut in der Scripting Reference an. was das Objekt Animator alles so kann. edit: Oder noch etwas kürzer if( anim.GetCurrentAnimatorStateInfo(0).IsName("MyAnimationName")) { } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sakres01 Geschrieben 10. Dezember 2015 Autor Melden Share Geschrieben 10. Dezember 2015 Ok, Danke 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.