Jump to content
  • Advertisement
Sign in to follow this  
dotdotdot

Skinned animation questions

This topic is 1058 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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?

Edited by dotdotdot

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!