Exporting skeletal animation from max.

Started by
13 comments, last by Nemesis2k2 19 years, 6 months ago
Hello, I decided to use max bones for my characters. I have checked some examples that come with max 6, and all examples come with not only bones, but helpers, ik solvers, etc... I have talked to my graphist and he has told me that helpers, ik solves, etc... are used to make the animating process easier. My question is then: my engine supports bones, how can I then export the skeletal animation if my graphist uses for this animation bones + helpers + ik solvers, etc...? Thanks in advance, HexDump.
Advertisement
For you, there's no difference. As he said, those are just tools they use when animating that allow them to get the correct poses much faster. You don't have to export any of that extra junk when it comes to using it in your engine. All you need is the basic bone data, and the keyframe data. Most of those tools are just there to make the job of generating the keyframes easier, but you don't have to generate them, you just have to apply them.

Of course, if you do however want to generate poses at runtime, some of that data might be useful. If you wanted to do a ragdoll for example, you'd need IK data. If you wanted to make it halfway realistic, you'd probably want constraint data for the joints too. Things like this are rarely needed for most games however.
So, I should get rid of all this helpes, etc...? Will the model still animate ok?

Thanks in advance,
HexDump.
I have been thinking a little more, and... if I get rid of helpers, etc... I could end with some hierarchies of bones for a model, isn´t it bad? I mean, if I get rid for example of the Pelvis that is a helper used to join both legs, I will end with 3 bones hierarchies, right leg, left leg and upper body.


Thnaks in advance,
HexDump.

Quote:So, I should get rid of all this helpes, etc...? Will the model still animate ok?

From this I gather you're loading the actual 3ds files in your game. In that case, don't bother trying to strip the thing back, just take what it gives you. If you want to cut out the redundant data, make your own format or your own exporter. At any rate, I'd strongly suggest you look into other formats apart from 3ds. The 3ds file format has a lot of limitations, such as a lack of support for skinning, and is generally unsuitable for games.

Quote:I have been thinking a little more, and... if I get rid of helpers, etc... I could end with some hierarchies of bones for a model, isn´t it bad? I mean, if I get rid for example of the Pelvis that is a helper used to join both legs, I will end with 3 bones hierarchies, right leg, left leg and upper body.

The pelvis isn't just a helper, it's a proper bone just like any other in the heirachy. Obviously you can't just remove a bone from the heirachy and expect the animation to be unaffected.
Hello Nemesis2k2,


I have my own exporter. I have checked some 3dsmax tutorial and they use a helper (like a pelvis) to join both legs. So, it is not a bone, it is just a helper. Perhaps I´m a bit confused about all this... Do you mean I should export the pelvis (a Helper) as a bone?

Thanks in advance,
HexDump.
Are you using a Biped object to represent your bone heirachy?
No, for now only standard max bones.


Thanks in advance,
HexDump.
HexDump, here's how our system works.

We have a custom exporter from Max. When I enumerate all of the items in the world, I fight the root of a skeletal hierarchy. I store the transform matrix for that bone, and recurse into the children. Ever step of the way I make sure the child is a Max Bone using it's ClassID. If it ISN'T a Max Bone, I ignore it. For every valid bone I find, I maintain the child-parent relationship, the name of the bone and the transform matrix. I ignore everything else. I then put each of the bones into the local space of the parent, and noodle around a bit with some other data, but it's pretty straightforward.

The IKHelpers and all of that are used by Max to drive the position of the bones. Since all you care about at runtime are the bones, and where they were last frame, and where they will be next frame, you only need to care about the transform matrix for the bones. All of the helpers are great tools for the artists, but they simply help them place the bones acurately and easily. You only care about the bones.

Yes sphet, I understand. But my question was that if an artist uses a helper to simulate the pelvis (I can see some examples of this in the tutorials that come with max), and I get rid of it, everything will be wrong then. I will end with 3 hierarchies of bones: left leg, right leg, and upper body.

Note: perhaps I´m missing something obvious, but I can´t really understand how to do that if the thing I explain above happens.

Edited: I have been checking other bone animation examples in max, and there are examples that do not have all bones linked like all skeleton have. How do you handle this situations? Or your graphist know that they must do things in a particualr way?.


Thnaks in advance,
HexDump.

[Edited by - HexDump on September 29, 2004 11:18:06 AM]

This topic is closed to new replies.

Advertisement