[assimp] Offset Matrix für Bones berechnen
Verfasst: 02.05.2010, 13:53
Hallo,
ich versuche gerade Assimp in unsere Engine zu integrieren. Und ich bin jetzt schon begeistert von Assimp. (good job)
Jedoch ist mir nicht ganz klar, welche Matritzen ich für die Berechnung der endgültigen offsetMatrix eines Bones in betracht ziehen muss.
Wenn ich mir das aiScene Objekt ausgeben lasse und mir den Szenengraphen ansehe, sehe ich da zwei "Bereiche".
Ein Bereich enthält Knoten mit einheitsmatritzen als Transformation. An diesen Knoten hängen die Meshes und in den Meshes hängen Bones.
Diese Bones haben einen Vermerk auf jeweils einen Knoten, der erst im "zweiten Bereich" des Szenengraphen auftaucht, sowie eine eigene "Offset Matrix".
Der "zweite Bereich" des Szenengraphen entspricht dem Skelett des Models. Das sind auch die Knoten auf die von den o.g. Bones verwiesen wird. Diese Knoten haben alle eine Transformationsmatrix die meistens nicht die Einheitsmatrix ist.
Wenn ich den zweiten Teil des Szenengraphen traversiere und Bone-Objekte enstprechend diesen Baums aneinanderhänge, habe ich schonmal einen Baum aus Bones, der meinem Skelett entspricht. Jetzt frage ich mich, wie ich die Offset Matritzen der jeweiligen Bones mit den Transformationsmatritzen, der Knoten auf den die Bones verweisen, verketten soll?
Vielen Dank für Ideen und Lösungsansetze.
Gruß
Kie
ich versuche gerade Assimp in unsere Engine zu integrieren. Und ich bin jetzt schon begeistert von Assimp. (good job)
Jedoch ist mir nicht ganz klar, welche Matritzen ich für die Berechnung der endgültigen offsetMatrix eines Bones in betracht ziehen muss.
Wenn ich mir das aiScene Objekt ausgeben lasse und mir den Szenengraphen ansehe, sehe ich da zwei "Bereiche".
Ein Bereich enthält Knoten mit einheitsmatritzen als Transformation. An diesen Knoten hängen die Meshes und in den Meshes hängen Bones.
Diese Bones haben einen Vermerk auf jeweils einen Knoten, der erst im "zweiten Bereich" des Szenengraphen auftaucht, sowie eine eigene "Offset Matrix".
Der "zweite Bereich" des Szenengraphen entspricht dem Skelett des Models. Das sind auch die Knoten auf die von den o.g. Bones verwiesen wird. Diese Knoten haben alle eine Transformationsmatrix die meistens nicht die Einheitsmatrix ist.
Wenn ich den zweiten Teil des Szenengraphen traversiere und Bone-Objekte enstprechend diesen Baums aneinanderhänge, habe ich schonmal einen Baum aus Bones, der meinem Skelett entspricht. Jetzt frage ich mich, wie ich die Offset Matritzen der jeweiligen Bones mit den Transformationsmatritzen, der Knoten auf den die Bones verweisen, verketten soll?
Vielen Dank für Ideen und Lösungsansetze.
Gruß
Kie