Blender Animation läuft am Ende des Tracks nicht flüssig weiter sondern stoppt

    • Hab das jetzt mal ausprobiert, aber bei mir verdrehts den andern Knochen dann immer ganz komisch, höchstwahrscheinlich weil ich schon beim Skelett erstellen total falsch ran gehe...

      Ich versteh auch nicht wieso immer Hüfte und Schulter nicht connected sind, hatte das zwar anfangs auch so, weil irgendwo mal gesehn, aber das gibt dann wieder Probleme wenn der Char sterben soll, da fliegen die Beine und Arme dann extrem weit auseinander und bleiben nicht am Mesh dran.
      Beim Tod wird Movement deaktiviert und Physics aktiviert, das sieht schon ziemlich gut aus, besser als wenn ich fürn Tod noch ne eigene Anim hätte, vorallem wenn da mal 20 Gegner auf einem Haufen liegen^^
    • Ich haue da mal eine Frage zwischen. Oder besser gesagt einen Gedankengang.
      Ich schaue mir einen Film an. Der läuft je nach dem mit 24/25/30 Frames pro Sekunde. Wie viel Zeit brauche ich für einen Schritt. Ca. 1 Sekunde oder weniger. Das passt also zu der Aussage von
      @Harlyk. Wofür brauche ich beim Film 200 Frames pro Sekunde. Für Slow Motion. Ich weiß leider nicht wie die Engine mit den Frames umgeht. Spielt sie die 200 in der Sekunde ab, was dann unnötig viel ist. Oder werden dann nur 30 Bilder der Animation in der Sekunde abgespielt? Dann läuft dein Männchen in Zeitlupe.
    • Man kann die Animationen in der Engine verlangsamen/beschleunigen, das wäre also nicht das Problem.
      Bei mir wird jede einzelne Animation inzwischen 200 Frames lang gemacht, egal ob Idle, Walk, Run, Attack, usw., hab die Befürchtung, dass wenn ich das verringern sollte, alle Animationen nur noch 18 Frames haben und das reicht für irgendwas dann bestimmt nicht mehr aus...
    • Sagen wir mal du hast deinen Walk der eine Sekunde dauert mit 200 Frames animiert und das Spiel läuft sauber mit 120 Frames. Wo bleiben die restlichen 80 Frames? :)
      Manchmal ist weniger mehr. Hätte ich damals beim Wiskey auch beherzigen sollen. :)
      Mit 30 Frames in der Sekunde kannst du locker alles darstellen was du auch im Kino usw. sehen kannst.
      Es sei den du bist eine Fliege.
    • Frames sind frames sind frames. In VR versuche ich durchgehend über 90 fps zu bleiben. In nem statischen video sind so 24 das allerunterste Limit um flüssig zu wirken.

      Wenn ein walk 1 sekunde dauert dann dauert er ne Sekunde - ob der Zielrechner nun 30 fps oder 120 fps schmeisst ist dann unerheblich - hier geht es eher um die key-frames - wenn du genug keyframes hast dann wirkt der walk sauber animiert. Ob der Rechner dann 120 frames wirft oder nur 10 ist wurscht, die frames sind hier nur ausschlaggebend ob das ganze wie ne Diashow oder wie ein game wirkt. Hat die ani 120 keyframes wird der lahme Rechner bei 10 fps offensichtlich ne Menge skippen. Man kann auch ne gute walk animation mit 10 keyframes machen - bei 120 frames rechnet der geforce 1080 GTX rechner dann halt die zwischenräume dynamisch dazwischen.


      Wieviel keyframes man braucht hängt immer von der Komplexität der Animation ab, gibt auch Anis a la "Männchen hebt die hand" die sehen sauber aus auch wenn die nur 3 keyframes haben. Auch wenn die über 5 Sekunden dauert.
    • Man animiert ja im 3D Programm mit einer einstellbaren Fps. Die Engine interpoliert dann die Ani so das sie bei 30 oder 60 Fps in etwa gleich schnell abgespielt wird.

      Hab das gerade mal getestet, ein Cube der einfach nur schwingt, einmal mit 30 Fps und einmal mit 300 Fps.
      Beide Animationen werden in etwa gleich abgespielt, wobei die mit 300 Fps leicht schneller ist. Nach 20 mal schwingen laufen beide nicht mehr synchron.
    • Auch hier sollte man sich vielleicht erstmal mit der Technik auseinander setzen um die verschiedenen Facetten zu verstehen.

      Das Menschliche Auge braucht etwa 14 - 16 Bilder pro Sekunde um eine Bilderabfolge als Bewegung war zu nehmen. 15- 16 weil das von Mensch zu Mensch unterschiedlich ist.
      Hat eine Animation die 1 Sekunde geht 200 Frames, so kommt uns eine Bewegung nicht flüssiger vor als mit 16 Frames und genau deswegen reichen 18 Frames vollkommen aus.
    • DarkFaces schrieb:

      Man animiert ja im 3D Programm mit einer einstellbaren Fps. Die Engine interpoliert dann die Ani so das sie bei 30 oder 60 Fps in etwa gleich schnell abgespielt wird.

      Hab das gerade mal getestet, ein Cube der einfach nur schwingt, einmal mit 30 Fps und einmal mit 300 Fps.
      Beide Animationen werden in etwa gleich abgespielt, wobei die mit 300 Fps leicht schneller ist. Nach 20 mal schwingen laufen beide nicht mehr synchron.

      Nomal ist es wurscht ob eine walk ani ne milisekunde früher oder später endet, aber in UE4 kannst du "play rate" auch ändern, also wenn es zu schnell geht machst du die play rate mal auf 0.99 oder so.

      @Sleepy - 16fps ist das absolute unterste Minimum um überhaupt als "Bewegung" vom Auge wahrgenommen zu werden. "Flüssig" oder "anstrengend fürs Auge" ist was anderes. Spiel mal nen aktuellen Shooter auf 16 fps und auf 60 fps, dann merkst du den Unterschied. Daß du bei 18 frames die einzelnen Standbilder nicht mehr ohne weiteres als solche erkennen kannst ist richtig -das bedeutet aber nicht daß für games 18 fps "ausreichend" ist. Bei 3D Spielen sagt man sollten es 60 fps sein um annehmbar auf Dauer zu spielen, bei VR sind 90 fps das Minimum ohne daß dir schlecht wird, 120 fps sind optimal.
    • es geht hier nicht wirklich darum ob eine Animation 20 oder 200 Frames hat, das ist in soweit egal das man wie schon erwähnt wurde die Animation jederzeit gedehnt oder gestaucht werden kann.
      Ob in der Engine oder im 3D Programm.

      Es gibt in jeder Animation gewisse Momente ab gewissen stellen wo eine gewisse Haltung sein sollte.
      Diese Keypositionen sorgen dafür das eine Animation natürlich aussieht.

      Bei 18 Frames z.B. sind diese Positionen definiert, verwendest du 200 Frames musst du dies umrechnen. Das ist mehr aufwand als nötig.

      Dann ist es so das das Programm alle Zwischenbewegungen selbst errechnet, daher ist es egal ob nun 5 oder 70 Frames zwischen den wichtigen Keypositionen liegen.

      Wählt man eine andere Keyanzahl kann es aber passieren das man in der Animation Sachen hat wie das z.B. der Fuß langsam gehoben wird und extrem schnel lzu Boden rauscht, also Unregelmäßigkeiten.
      Das passiert nicht wenn man sich an die Vordefinitionen hält.

      Auch passiert es nicht das Laufen zu Gehen nicht im Verhältnis steht.


      Was den letzten Key angeht den man löscht, der wird nicht wirklich gelöscht sondern man reduziert die Länge der Animation auf 17 Frames so das der letzte Key weg fällt, somit wird die Startposition nicht doppelt abgespielt bei einem loop und die Animation ist flüssig
      hier kann man meine Modelle kaufen: cgtrader.com/harlyk
      DAS GRÖSSTE KOMMUNIKATIONSPROBLEM IST,DASS WIR NICHT ZUHÖREN, UM ZU VERSTEHEN. WIR HÖREN ZU, UM ZU ANTWORTEN.
    • Neu

      Hat einer von euch ne Ahnung ob es für die Performance besser ist, wenn man statt 200 Frames nur 18 hat?
      Wenn bei mir mehr als 30 Skeletals rum rennen gehn die FPS unter 100, bei über 100 Skeletals hab ich nur noch 20 FPS...

      Falls keiner antwortet, versuch ichs heut abend mal selber^^

      Hab die letzten 2 Tage ein Spiel eines Freundes (Link) gespielt und da gibts ne Option, dass man bis zu 600 Gegner anzeigen lassen kann, hatte schon 500 aufm Screen und keinen einzigen Ruckler, wenn ich bei meinem, 500 Gegner spawne, ruckelt es mit nicht mal einem FPS vor sich hin...



      Edit: Wollte grad mal noch nachträglich 18 Bones löschen, welche ich anfangs benutzen wollte, jetzt aber nicht mehr brauche.
      Das komische ist, dass zwar die Animationen noch funktionieren, aber beim Export wird nur die eine Animation welche grad angezeigt wird exportiert (gleiche Einstellungen wie immer).
    • Neu

      Klar kostet das alles auch immer Performance und wenn du für die selbe Animationslänge nur 18 statt 200 Frames hast, dann sind das ja weniger als 10%.
      Jeder Animationsframe durchläuft ja auch diverse Berechnungen da ist es schon ein Unterschied ob die nun 10 mal so häufig stattfinden müssen oder nicht.

      Auf ein einzelnes Skeletal Mesh gesehen ist das jetzt noch nicht so drastisch aber bei hunderten von Gegner oder NPCs macht das schon nen Unterschied ob die nun auf 60fps, 30fps oder in einiger Entfernung (LoD) evtl. sogar mit nur 15fps animiert.

      Mario Odyssey ist so ein Titel der mir da spontan einfällt, weil ich das da mal in der Technikanalyse von DF gesehen habe.
      Weiter entfernte Passanten in New Donk City werden nur noch mit 15 Fps animiert statt mit 30 wie der Rest.

      Ich bin mir Sicher, das viele Titel gerade die im Open World Genre oder Massengeschnetzel wie die Dynasty Warriors reihe da ähnliche Optimierungstricks einsetzen.
    • Neu

      Ich hab das ganze jetzt mal getestet, egal ob ich nur 8 Frames mit 5 FPS oder 200 Frames mit 100 FPS hab, es ändert sich an der Performance rein überhaupt nix, immer die gleichen fps...

      Edit: Bei Cinematic hatte ich nur 20fps, bei High sinds bei 100 Skeletals, 66fps, ebenfalls mit den 2 verschiedenen Animationen getestet, Unterschied liegt bei max einem fps^^

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Killerzwerg ()

    • Neu

      Ja ich weiß, wäre zwar schon cool auch 200 und mehr Gegner anzeigen zu lassen, aber ich denke ich werd das dann einfach auf max 100 begrenzen, wenn die 100 erreicht sind, wird für ne bestimmte Zeit keiner mehr gespawnt.
      Wenn ich mal ne größere Map mache wo alles nicht so eng aufeinander hockt, kann ich mir das nochmal angucken, z.Z. hat man jedes Mesh im Bild, falls man nicht grad mitten im Geschehen steht oder in die andere Richtung guckt, wobei das komischerweise kaum was an der Performance ändert...
      Scheint so als ob ich bisher alles bestmöglich optimiert hab, hehe
    • Neu

      Wenn du ernsthaft die Perfrmance debuggen willst dann kommst du auf lange Sicht am Profiler nicht vorbei.

      docs.unrealengine.com/en-us/Engine/Performance/Profiler


      Aber klar für nen Billigen kleinen Test kannste natürlich mal ne 200 fps Ani mit ner 18 fps ani tauschen und die fps beobachten. Bei Animationen wird es aber auch mit der Polygon Anzahl interessanter - wenn du 600 FIguren umhertanzen hast ist es meist auch interessant wie die in LOD0, LOD1 usw aussehen. Ist auch immer die Frage was bei der Performance grfressen wird, wo das bottleneck liegt. Geht RAM an den Anschlag? GPU bei 100%? Textur Speicher voll (RAM derGPU)? ist die CPU an glühen? Kommt die Platte nicht mehr hinterher? jedes Bottleneck hat andere Ursachen und andere Lösungen...

      Bei CPU Problemen muß man dumme Programmierung ausfindig machen - manchmal lohnt sich dann aber auch multithreading - was du aber nur mit C++ oder plugins hinbekommst und das ist auch ne Waffe mit der du dir selbst ins Knie schießen kannst.
    • Neu

      Killerzwerg schrieb:

      Edit: Wollte grad mal noch nachträglich 18 Bones löschen, welche ich anfangs benutzen wollte, jetzt aber nicht mehr brauche.
      Für den Char im Video brauchst du maximal 13 Bones, So steif wie der läuft kannste da sogar noch welche an der einsparen.^^

      Es ist natürlich Quatsch mit 200 Fps zu animieren, am Ende aber auch egal da die Engine eh für jeden Frame die Transformation berechnen muss. Sind es zu viele Keys werden sie verworfen und neue berechnet. sind es zu wenige werden die fehlenden auch berechnet.
    • Neu

      Ich wollte anfangs noch jeden Finger am Flügel des Huhns animieren können, weil die Viecher auch zu Schwertkämpfern und Magiern mutieren können sollten, von dem Plan bin ich aber abgewichen^^
      Aber stimmt, da sind einige Knochen überflüssig, wollte noch den Schnabel auf und zu machen und die Füße abrollen lassen, aber das wird man spätestens in der ganzen Action nicht mehr sehn...

      Zum Vergleich: Mein erstes Vieh (Huhn) hat 38 Bones, die Ziege 27 und das Schaf nur noch 18.
      Zum Glück hab ich die andern Viecher noch nicht animiert (bin grad nur am modellieren, UI und Gameplay), da werden noch einige Knochen weg fallen, bei der Ziege wollt ich den Ziegenbart noch per Physics animieren, aber das wird man 100pro auch nicht sehn, und die Ziegenfüße haben auch noch Bones...


      Edit: Wenn ich so darüber nachdenke, hätt ich beim Magier auch einige Bones sparen können, er wird eh immer seinen Zauberstab in der Hand halten, da wäre es egal ob seine Finger Knochen haben oder nicht, wobei es dort nicht so schlimm ist, werden eh maximal nur 4 rum rennen, sobald Multiplayer verfügbar ist.

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Killerzwerg ()

    Unreal®, Unreal Engine, the circle-U logo and the Powered by Unreal Engine logo are trademarks or registered trademarks of Epic Games, Inc. in the United States and elsewhere.