Brauche dringend Tutorials für Skelet-Animation
-
Hi,
ich hab jetzt mit OpenGL meine ersten Keyframe-Animationen von MD2 (QuakeII) Modellen entwickelt (*stolz*)
, aber jetzt möchte ich natürlich noch einen Schritt voran kommen und mit Skelet-Animationnen (bone-animation) anfangen. Ich hab unter Google schon so viel gesucht aber nichts vernünftiges gefunden. Kann mir dazu jemand nützliche Tutorials empfehlen? Danke schon mal 
-
Basistransformation (Grundlage für Sekelletbasierende Animation):
http://loop.servehttp.com/~vertexwahn/oldwiki/public_html_an_turing/bt.htmlLinear Interpolierte Keyframe Animation für Skelettbasierende Animation
http://loop.servehttp.com/~vertexwahn/oldwiki/public_html_an_turing/KeyFrameAnimation.htmlim Zusammenhang mit dem ms3d Format gibt es ein schönes Tutorial -> google
-
Danke schon mal

Ich hab noch ne Frage dazu. Was ich nicht verstehe ist: wie kann man bei Skelet-Animationen die maximale Geschwindigkeit herausholen? Ich meine, man muss doch mit einer 'for-Schleife' alle vertices abarbeiten um sie per rotations-matrix zu positionieren nicht whar?! Aber wenn man jetzt meinet wegen eine Spielfigur von ca. 150 Vertices hat und diese 10, 20, 30 mal dann müssen ja schließlich 30*150 = 4500 vertices verarbeitet werden, und bei noch mehr objekten und noch höher aufgelösten Objekten werden es exponentiell mehr. Wie können dann noch die Programme flüssig laufen?
-
Vielleicht hilft dir das hier:
http://videotutorialsrock.com/opengl_tutorial/animation/home.php
Ist eine Beispielanimation mit einem Blender Model ;-).
-
Mal *ganz* grob umrissen:
Das Skelett besteht aus verbundenen Gelenken.
Jedes Gelenk hat eine Transformationsmatrix.
Ein Vertex liegt nun irgendwo zwischen zwei (ueblicherweise mehr) Gelenken.
Beide Transformationen wirken auf den Vertex, die Staerke wird durch einen Faktor festgelegt und sieht dann etwa so aus:vertexTransformiert = (matrix1 * vertexPosition * gewichtung1) + (matrix2 * vertexPosition * gewichtung2) + ...;Es ist selten noetig mehr als 4 Gelenke gleichzeitig auf einen Vertex wirken zu lassen.
Vorteil ist also, dass Du fuer einen Key-Frame nicht alle VertexPosition ablegen musst, sondern nur die Transformation der Gelenke.
Fuer einen Zeitpunkt zwischen zwei Key-Frames interpolierst Du dann zwischen zwei Transformationen - dafuer vorher lineare Algebra auffrischen.
Je nachdem woher Du die Animationsdaten fuer Dein Skelett beziehst, kann es noetig sein, diese aufzubereiten (relative Transformation und affine Teiltransformationen aus der Matrix extrahieren, kleine Gewichtungen entfernen, Gewichte normalisieren)...
-
In Ordnung, ich denke damit kann ich was anfangen danke
