I'm doing a b3d loader for t2 and so far it loads static meshes perfectly but I'm about to do animations.
I can understand and load the data contained within the b3d, the series of keys and bones for each node but I'm not sure how to interpret this data.
Do I - for each vertex asscoiated with each bone - Transform each vert assigned to this bone through the bone's current rotation and postion.
Or do I first offset the position based on the node's current position.
I.e,
NewX = Node.X-VertexX
FinX = Node.LocalMatrix.Transform( NewX )
FinX = Node.X + FinX
Or simply
FinX = Node.LocalMatrix.Transform( VertexX )
It appears wierd to me because each node in a animated b3d has it's own relative position yet the mesh renderes fine with the vertex's default positions. Implying mark did something to the naked data to get it to be represented accurately by the file it's self.
Confusion.
Much.
confusion.
I can understand and load the data contained within the b3d, the series of keys and bones for each node but I'm not sure how to interpret this data.
Do I - for each vertex asscoiated with each bone - Transform each vert assigned to this bone through the bone's current rotation and postion.
Or do I first offset the position based on the node's current position.
I.e,
NewX = Node.X-VertexX
FinX = Node.LocalMatrix.Transform( NewX )
FinX = Node.X + FinX
Or simply
FinX = Node.LocalMatrix.Transform( VertexX )
It appears wierd to me because each node in a animated b3d has it's own relative position yet the mesh renderes fine with the vertex's default positions. Implying mark did something to the naked data to get it to be represented accurately by the file it's self.
Confusion.
Much.
confusion.