Quote:Original post by MeshMan
I'm wondering how you put this all into a OOP kind of system? I've never fully understood how the render path looks. Like say you have a "class MeshNode" which essentialy is your mesh which contains - its local transform? If I also store a list of attatched MeshNode's, does it go something like:
I just use a tree list. The root node is at the top, and each node sends it's final result down to all of it's children.
If you're referring to weapons, I don't have them as part of the skeleton. Each weapon controls itself, rather than be part of the hierarchy. Characters would just have a simple list of attached objects. Scroll through the list to update and/or render, and let each object take care of itself. All the object really needs is a link to the bone matrix that it's attached to.
Quote:I think I get the clothing thing and now I think my lack of experience with bone animations might be the problem. Originally I thought it might be like 2d, where you had to animate every article of clothing. But with bone animations. All you need is a single skeleton that has all the motions. And then have the envelopes setup nicely so that no matter what mesh legs you use, or what mesh torso, or arms, they will always fit on the bones, inside the envelopes and animate nicely.
Skeletons are very important. If it's possible to use the same skeleton for all of the humanoid models in your game, go for it. I couldn't get away with it; my women looked like freaks with male shoulders. So I have gender specific skeletons. That means I can recycle animations between any gender-matching characters. Remember that you can scale models, so it's not very hard to make an ogre using the same skeleton you use to make an elf, with a bit of tweaking. Providing accurate melee-type contact between different scaled characters may bite you, though.
Quote:I have played with envelopes and animating bones in 3d Max. I didn't know that you could load a skeleton and then swap different meshes into the envelopes though. As I said this may have to do with my inexperience with skeletal models, but maybe you could give me some pseudo pointers as to how that's done?
The envolopes do not need to be exactly the same. I fitted a really thick hooded coat (like Jin's coat in Tekken 4) to a guy, and the coat's envolopes were huge. What I did was import the character mesh into the coat scene and gave it the same animations. As the time slider is moved around, they both animate together, and envolope/bending problems become obvious. So it's only the skeleton that is a must. You could start from scratch with new envolopes for each model, as long as you have a method to see the results.
Quote:Also, does anyone know where I could find a .x or a .max or .md3 that has bones and animations in it? Not up to paying for a model just for learning this technique.
There was a model, tiny.x, that comes with the Direct SDK. I think it still does.
Quote:I have Max, if worse comes to worse I can run though a tutorial to make my own. However I can never get the knee to tween right where the envelopes overlap, but that's clearly off topic. =)
I feel ya. I've been through it so many times, the pain is starting to subside, though. I personally hate the hip area more than the knees.