Anzahl FPS bei Animation von Maya zu Unreal

  • Hallo zusammen,


    ich bin zur Zeit dabei ein paar Animationen zu erstellen und Frage mich, welche Anzahl an Frames, da am Besten ist. Gerade was geloopte Animationn betrifft wie Walk Cycle und Idle.
    Unreal hat glaube ich Standard 30 FPS bei Animationen.
    Erstellt man nun als Bsp. ein Walk Cycle von 30 FPS wird es schwierig, da es ja nicht sauber geteilt werden kann. Anfang und End Frame sind ja immer gleich. Aber dann gibt es keine genaue Mitte... Für ein saubereren Loop wäre es ja auch sinnvoll, den End Frame dann später quasi wegzulassen oder?
    Ich benutze Maya für die Animationen. Und fange ich da bei Frame 0 an oder bei Frame 1?
    Und wie würde sich zum Beispiel eine 30 FPS Animation auf ein Spiel mit 60 FPS dann auswirken?

  • da gibt es genaue Definitionen wie lange ein Schritt dauert wenn man rennt oder wenn man geht.
    Schau da mal im Netz rum und wenn du etwas gefunden hast poste es hier ruhig.


    Ich habe mich da auch mal erkundigt aber habe mir die Sachen nicht weg gelegt.
    Die Frames vorne und hinten nimmt man nur weg da man sonst zwei mal die Endposition des Schrittes hat und in einem Loop dann der Übergang etwas ruckelt.

    • Offizieller Beitrag

    Bei einem Film braucht unser Auge ca 24 Bilder pro Sekunde um ein Bewegung wahrzunehmen und keine Bilderfolge mehr. Bei Games verhält sich das etwas anderst den hier brauchen wir mindestens 30 FPS damit eine Animation als Flüssig wahrgenommen werden kann.
    Bei schnellen Bewegungen, Rennspiel oder Shooter sollten es mindestens 50 - 60 FPS sein.


    Mit Krassen Szenen mit viel Boom Boom und vielen Spieler kann man auch tricksen in dem man das mit Blur Effekten und Tiefenunschärfe kaschiert.


    Für eine Flüssige Animation solltest du also auf jeden Fall zwischen 30 FPS und 60 FPS verwenden. Du könntest eine Animation mit 30 und 60 FPS auch in LOD packen so das wenn man weit weg ist die 30 FPS Animation und mit einer tiefenunschärfe sieht und wenn man nah dran ist eine Animation mit 60 FPS.


    Selbst bei AAA Spielen sehen Animationen aus der Nähe oft dumm aus.

  • Also wenn die Antwort aus diesem Post (https://answers.unrealengine.c…ation-and-frame-rate.html )
    korrekt ist, scheint es egal zu sein, mit wievielen Frames das Spiel läuft, da die Engine die Animation dann automatisch anpasst.


    "The engine already does that. Animations are saved as keyframes that represent the state of the animation at a given time. If your game renders a frame in between 2 keyframes the engine will simply interpolate between thes keyframes, so that it looks as if there was a keyframe there too. So you don't need to worry about any of that, a animation looks the same, no matter what your framerate is, it will not suddenly play faster or slower."



    LOD wird denke ich nicht nötig bei meinem Spiel. Es ist Top-Down und jetzt nicht so aufwendig. Die Figur sieht man meistens aus einer mittleren Distanz, auch wenn es leichte Zoom-Möglichkeiten bietet.
    Aktuell habe ich 30 FPS und werde dann auch dabei bleiben. Die Länge der Animation sollte ja egal sein oder?
    Bei meinem Walk Cycle orientiere ich mich an diesem Tutorial:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Er nutzt allerdings 24 FPS. Fängt bei Frame 1 an und setzt den End-Frame auf Frame 25 (welcher dann später wegfallen würde).
    Ich habe es bei mir etwas angepasst und nutze Frame 1 bis 29. Sollte doch so machbar sein oder?

  • Ja das verschiedene FPS unterschiedliche Animationen benötigen ist Quatsch.
    Dafür gibt es den Deltatime, das sorgt dafür das alle Operationen die über die Deltatime laufen gleich schnell ablaufen ob 10, 20 , 30 oder 60 FPS spielt da keine Rolle.


    Wenn man die Deltatime natürlich nicht verwendet der hat eine höhere Geschwindigkeit seiner Abfolgen sobald die FPS hoch geht, daher obacht.
    Da es bei den Animationen soweit ich weiß keine Deltatime direkt einsetzbar ist, wird es hier automatisch gesteuert sein, macht ja durchaus auch Sinn bei Animationen.


    Was die Frames angeht, da kannst du die Frames so definieren das es gut für dich aussieht, es gibt halt Richtwerte an denen man sich orientieren kann, letzten Endes kommt es aber darauf an was bei einem Schritt so alles passiert.


    Meistens sagt man das ein Schritt "gehend" ca. 9 Frames benötigt, beide Beine also 18 Frames
    Man kann aber auch bis zu 24 Frames runter gehen, das hängt von der Figur ab.


    Bei mehr als 18 Frames geht es zum Laufen über.


    12-14 Frames ist ungefähr ein realistisches Rennen eines Erwachsenen, 10-12 Frames für Kinder (Pro Schritt)
    Schnelles Rennen liegt bei 10 Frames und bei einem Kind bei ca. 8 Frames


    Bei einem Cartoon hingegen liegt die Laufgeschwindigkeit eines Erwachsenen bei 10-12 und eines Kindes bei 8-10 pro Schritt.
    Schnelles Rennen eines Erwachsenen bei 8 und beim Kind bei 6.


    Wie gesagt, es gibt für vieles Richtwerte, am Ende brauch man das Auge um zu erkennen ob es passt oder nicht

  • Ich muss da nochmal nachhaken.
    Ich benutze zur Fortbewegung "SetWorldLocationRotation" von je 100 Units per Timeline. Jetzt würde ich gerne eine Animation passend dazu erstellen.
    Das Ding ist aber, dass die Length der Timeline noch nicht ganz Final ist. Aktuell hab ich sie bei 0,38 stehen.
    Ist die Zeit der Timeline denn Frameabhängig? Also entspäche eine Lenght in der Timeline von 1, einer Sekunde und somit 30 FPS?
    Als Charakter habe ich ne Maus, welche aber auf zwei Beinen läuft. Ich gehe da von ca 4 Schritten aus (allerdings käme das auch wieder auf die Größe der Maus an, womit ich auch noch etwas schwanke...), zu je 25 Units pro Schritt dann theoretisch.
    Wenn die Lenght nun bei 0,38 steht müsste ich ja 4 Schritte in 11,4 Frames packen oder nicht? Kommt mir etwas unpassend vor...


    Ein weiterer Punkt: Wenn eine der WASD-Richtungstasten gedrückt gehalten bleibt, läuft sie weiter. Bleibt sie stehen, kommt ne Idle-Animation.
    Direkt vor dem Start der Timeline lasse ich die Walk-Animation starten und wenn die Timeline zu Ende ist, lass ich eine Idle-Animation laufen. So 100% flüssig läuft das aber nicht. Da werde ich dann wohl mit Blending und Layered Animations arbeiten müssen oder?
    Statt die Idle-Animation nach dem Ablauf der Timeline starten zu lassen, müsste ich sie nach Release der Taste vom Walk ins Idle überblenden, würde ich jetzt schätzen und ansonsten wird halt weiterhin die Walk-Animation abgespielt.


    Habt ihr da eventuell noch Ergänzungen zu oder andere Ansätze/Möglichkeiten, wie sich dieses "Fake-Movement" quasi umsetzen ließe?