Skinned animation questions

Started by
2 comments, last by dotdotdot 8 years, 8 months ago

Hi Guys,

I've recently been trying to implement skinned animation, and I'm not getting anywhere with it. I've tried googling for solutions, but so many resources contradict each other, or omit key parts of explanations. As an aside, a link to a visual, step-by-step guide on vertex skinning would be appreciated!

I've written an exporter in Python, which writes out my Blender scene in JSON, so, I essentially have two separate problem areas: getting the scene exported from Blender, and getting the exported scene renderd in my engine

To start things off, I have 2 questions:

1. Should the bind pose matrix of a bone contain the scale/rotation/translation of a bone relative to the bone's parent? If so, what should the scale/rotation/translation of the root bone be relative to?

2. When calculating the per-frame transforms of a bone, should I recurse up through the parent bones, and multiply all the transforms of the parent bones, for the current frame, together?

** UPDATE **

3. What exactly is the bind shape matrix? How does it differ from the bind pose matrices of individual bones?

Advertisement

Before you understand skinning you should understand rigid body animation, take a look at how blender do it http://wiki.blender.org/index.php/User:Pepribal/Ref/Appendices/ParentInverse

1. In my implementation I only save the SQT (scale, orientation, translation) per bone, relative to the bone´s parent —local space— the root bone should be relative to de position in global coordinates of your character.

2. That is how I do it

3. I think they are the same thing, I don't use a bind shape matrix

1) Root is normally relative to origin in model space.
2) Yes.
3) Pass. Sound like the same thing to me. Bind pose is the aggregate of all bones in their bind position. I always just use translation for bind and have rotations set to zero.

Thanks for the replies, guys!

The bind shape matrix I'm talking about comes from page 33 here: https://www.khronos.org/files/collada_spec_1_4.pdf

Working through that text and the output of the collada exporter for blender, I think I have a few new ideas to try with this stuff!

This topic is closed to new replies.

Advertisement