PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Des wo mit dem Modell bewegen


pauly
2004-01-21, 17:29:14
Also...
ich wollte in OpenGL animierte Modells.
Meine Frage:

Werden diese Modells als eine Folge von verschiedenen "Bildern", also
aufeinanderfolgenden Modells geladen oder muss man das Modell irgendwie beeinflussen, sodass es sich bewegt?

Werden Animationen in Wavefront OBJ files mitgespeichert?

P.S:
Bones sind vorhanden.

Gnafoo
2004-01-21, 18:11:27
Also es gibt verschiedene Methoden. Die einfachste ist Vertex
Blending. Dabei werden für jedes Keyframe die Positionen der
Vertices gespeichert und beim abspielen linear zwischen den
Frames interpoliert.
Wenn man jetzt aber mehrere Animationen parallel spielen will
(z.b. laufen & schießen), dann muss man für jede gewünschte
Kombi eine eigene Animation erstellen. Um das zu verhindern, kann
man auch mehrere Models benutzen, und diese aneinanderhängen
(Beine, Torso, Kopf, ...) so funktioniert das z.b. in Quake3.

Die andere etwas kompliziertere Methode funktioniert mithilfe von
Bones. Dabei werden einmal die Koordinaten der Vertices gespeichert
und dann entsprechend des zugrundeliegenden Skeletts verändert.
Hier wird für jedes Frame entsprechend nur das Skelett gespeichert.
Für jedes Bone lässt sich eine Matrix berechnen, mit der die an
diesem Bone angehängten Vertices multipliziert werden, um das
entsprechend neue Vertex zu erhalten. Der Vorteil der Sache ist,
dass man einfach Animationen verblenden kann. Man muss also z.b.
nur noch eine Animation schießen und laufen machen, und kann beide
mischen, oder einzeln spielen, ganz wie man will.

Außerdem kann man zwischen verschiedenen Frames verblenden
(z.b. ein Frame nach rechts sehen und eins nach links sehen. Jetzt
kann man beide entsprechend verblenden und kann den Kopf frei
zwischen rechts und links drehen)

Half-Life hat afaik damit angefangen und es ist die elegantere,
wenn auch kompliziertere Methode imho.

Hope it helps
cu DerTod