3ds skeletal animation

Started by
3 comments, last by jpetrie 17 years, 10 months ago
I have a question about skeletal animation in 3ds. I'm able to read the mesh (skin) information from the 4xxx chunks and the mesh renders correctly. I can also read the keyframe information from the Bxxx chunks and I can reconstruct the skelet and animate/render it correctly. The trouble I have is when I want to connect the skin to the skelet. How can I do this? I've read all the chunks in the modelfile, and I'm not skipping any of them. I cannot find any information in any chunk about which vertex is connected with which joint. I've looked everywhere on the internet, but was unable to find a solution. How do I 'link' the skinvertices to the skelet(joints)? Many thanks in advance! Greetings, Vincent N.B. The models are exported from 3D studio MAX 8 and the skelet is build with 'biped'
Advertisement
OK, I thought it wasn't a very hard question... There must be some people around here how have mastered the 3DS file format.
How do I get the link between the skelet(joints) and the skin(vertices)?
Or should I ask it in the 'Visual Arts' forum?

Greets,

Vincent
Just taking a guess (i gave up trying to use 3ds format once i realised it didnt store normals) - could the bone index be in the face flag ? That seems to be the only piece of info that is on a per vertex / per face level that isnt accounted for.

Wyzfen
I've looked into the faceflags and there are some undocumented bits in there, but when I check the values of those bits for one of my animated models they are all in the visibility range (000 to 111).
It cannot be possible that the 3DS format doesn't support skinning if it does support skeletal animation, right? I cannot see the logics of that.
There must be a person out here who knows how to skin in a 3DS format!?!

Greetings,

Vincent
I was under the impression 3DS supported only keyframed vertex blend animations (that seems to be the case given the feature set of Lib3DS.

3DS is not a very good format. Many people seem to be under the impression that it is used often in professional games (because Max itself is used so often) and try to use it themselves in an attempt to be more professional or to help them develop skills and knowledge that could be seen as professionally marketable.

However, 3DS is not actually used that often in professional games. Generally custom exporters are written to export the Max data into a game-specific format directly.

So if your reasons for using 3DS are similar to the aforementioned ones, pick a different format. If not, or if you don't want to, look into Lib3DS, which was written to ease the parsing and loading of 3DS files (although it hasn't been updated since November 05, which could be bad).

If the biped manipulator in Max exports extra information enabling skeletal animation, than it does seem that you're stuck (Lib3DS probably won't load it). You might have to parse those chunks manually; this may involve trying to dig up the documentation of those custom extensions to the format which might be hard (yet another reason to select a better, more open format).

This topic is closed to new replies.

Advertisement