Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Frage Animation Constraints to Unity
#5
(19.07.2024, 12:15 PM)Malthea schrieb: Hallo,

im blender wird der NPC animiert (natürlich kann man die Waffe als constraint dazu nehmen - die kommt aber nicht mit in die Animation) und so die Einzelanimationen erstellt - die Empties, die Waffe(n) und die Logik kommen erst in Unity dazu.

In Unity bewegen sich die Empties mit dem Char (und natürlich auch die Waffe, die Child ist).

An die Empties können unterschiedliche Waffen geparentet werden - hierbei ist zu beachten, das im blender der jeweilige Waffen-Objektorigin so gesetzt wird, das er dem Empty-origin in Unity entspricht => einfachere Ausrichtung der Waffe in Unity durch Drehung / Bewegung des Emptys und man hat danach eine Empty-Position, die man für unterschiedliche Waffen nutzen kann.

Durch die Einzelanimationen hat man eine einfache Möglichkeit, den Zeitpunkt festzustellen, an dem der Parent gewechselt werden muss - dieser entspricht dem Wechsel state 1 -> state 2 bzw state 4 -> state 5 aus dem Beispiel. Am einfachsten ist es, im state 2 und state 5 ein StateMachineBehaviour Script zu erstellen und in diesen beiden Scripts in der OnStateEnter-Funktion den Parent-Wechsel zu erledigen (man könnte auch in den Vorgänger-States die OnStateExit-Funktion nutzen - ist aber nicht zu empfehlen).
Auf diese Art muss man keine komplizierten Abfragen (ist die Animation so-und-so beendet?) scripten.

In Unity switche ich dann SetActive, beim Wechsel der Animation?

Das ist nur sinnvoll für den Wechsel zu state 1 im Triggerscript, die anderen states sollten dann starten, wenn der vorangegangene state "abgearbeitet" ist - ansonsten müsstest du irgendwo andauernd abfragen, ob die Animation zu Ende ist. Du solltest auch bools im Animator für Ausstiegsbedingungen setzen (Feind weg oder tot, Munition alle usw).

Grüße Malthea

Hallo Malthea,

danke für deine erneute Antwort. Ich war jetzt länger im Urlaub und habe aber mittlerweile versucht alles so umzusetzen, wie du es vorgeschlagen hast. Das arbeiten mit StateMachineBehaviour-Scripten war neu für mich, aber es hat letztlich geklappt. Das einzige Problem jedoch was ich nun noch habe ist der Umstand, dass sich die Waffe beim Wechsel vom ParentEmpty1 zu ParentEmpty2 nicht so verhält wie sie sollte. 
Wenn ich zum Beispiel beginne zu Animeren und die Waffe befindet sich noch im Holster und ist an ParentEmpty1 geknüpft, so ist alles in Ordnung. Auch in Unity. Aber wenn der Charakter die Waffe in die Hand nimmt, und die Waffe zu ParentEmpty2 wechseln soll, dann verhält sie sich nicht so, wie in der Animation beabsichtigt war. Ich habe zwar schon verstanden, dass die Waffe nicht mitanimiert werden soll, wenn man z.B. im Sinn hat, diese später durch andere Waffen zu ersetzen. Aber habe ich jetzt in Unity dann zwei Objekte von derselben Waffe, die jeweils mit Parent1 bzw. Parent2 verbunden werden oder nur ein Waffenobjekt, welches die Parents je nach State wechselt? Weil wenn ich nur ein Waffenobjekt habe, wie soll ich dann sicherstellen, dass sie beim Wechsel auf Parent2 richtig in der Hand des Charakters liegt? 
Zitieren


Nachrichten in diesem Thema
Animation Constraints to Unity - von Felister89 - 18.07.2024, 08:49 PM
RE: Animation Constraints to Unity - von Malthea - 19.07.2024, 12:22 AM
RE: Animation Constraints to Unity - von Felister89 - 19.07.2024, 10:43 AM
RE: Animation Constraints to Unity - von Malthea - 19.07.2024, 12:15 PM
RE: Animation Constraints to Unity - von Felister89 - 26.08.2024, 02:51 PM
RE: Animation Constraints to Unity - von Malthea - 28.08.2024, 06:16 PM
RE: Animation Constraints to Unity - von Malthea - 28.08.2024, 08:27 PM

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste