Bone animations

Is there a tutorial on fast bone animations available?

My first tries on MilkShape bone models were very slow.

Convex…are you reading the ASCII file from the MilkShape or the binary ms3d file?

(I don’t have an answer to your question sorry but I’ve been trying to find someone who successfully read in the binary ms3d .Email me if you did.thanx!)

Same thing to me. I really need something about scheletal animation. I heard that Half Life has something. If anyone knows something please tell.


I’m currently reading the ASCII exported model data. An export plugin to our own (binary) format is under development.

So i can’t help you with .ms3d files, sorry

Each bone is a 4*4 matrix, a list of it’s child bones and a list of polys attached to that bone. Then do this:

Load identity matrix
//the following recurses through all bones
*multiply bone-matrix by modelview matrix
*draw vertices attached to this bone
*visit children and draw them

The coordinates for the vertices are supposed to be relative to the bone-origin. The translation in each bone’s 4*4 matrix is then the offset from the parent bone’s origin to the current bone’s origin.

Caesar, are you talking about bone management within memory?

At least the MilkShape ASCII format does not use a list of child bones. Instead, each bone is referencing its parent bone. Although it’s not a big problem building a bone tree, where each bone references its childs.

I’m talking about how I would render a modell built up in a hiarchial way. I’m sure the Milkshape format is like that because it’s easier to save that way. If you need to change one little thing just re-save the bones that have been altered, instead of having to build a new tree and put it in the file.

I built a tree, i did the bone transformation and everything else, just as you described above.
The result is completely wrong. Every tri is completely distorted.

I think, a part of the problem is located there:
A bone may be shared by different faces. Calling glBegin (GL_TRIANGLES), drawing all vertices attached to the current bone and finally calling glEnd(), does not care about that fact. Faces may remain unfinished.

Btw, the model geometry looks correct if i use GL_POINTS.

Hi, All!

May be someone of you try to get Half-Life SDK and take a look on their MDL Viewer?

Yours, Mad Max.