Sign in to follow this  

Skeletal Animation Tutorial

This topic is 4863 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

Looks good :)

In the 2nd paragraph the sentence "Certain vertices within the mesh may be associated with more than one vertex so it is important that the weight associated with the vertex is present also." was a bit confusing for me.

Share this post


Link to post
Share on other sites
That looks really really good. I wish there were more comprehensive tutorials like this written when I coded my skeletal animation system, this is the best article on the subject I've yet encountered.

Excellent work.

Share this post


Link to post
Share on other sites
I like the tutorial, it comes from a good perspective and lets me understand it even though I haven't implemented skeletal animation yet. Thanks!

Though, I was dissapointed that your demo didn't run. It crashes, all the log file has is:
Loading Library ScriptSystem
Loading Library DX9RenderPipeline

Share this post


Link to post
Share on other sites
Here are some suggestions.

The first picture (of the arm) has waaay too much stuff in it. It's got a blue mesh, a white mesh, a red bone, a yellow bone, a bunch of white plusses, a bunch of green plusses, a bunch of box corners and some garbage on the side. "Notice how right where the joints met, we see vertices are being shared between two different bones." Nope. I don't see that.

Remove the WMatrix class code. You don't talk about its implementation, so you don't need to show it.

Share this post


Link to post
Share on other sites
Quote:
Original post by okonomiyaki
Though, I was dissapointed that your demo didn't run. It crashes, all the log file has is:
Loading Library ScriptSystem
Loading Library DX9RenderPipeline


Hey, make sure you have the latest version of dx9 installed (summer 2004). It looks like the engine failed to load the DX9 Driver because you're missing the latest version.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:

Hey, make sure you have the latest version of dx9 installed (summer 2004). It looks like the engine failed to load the DX9 Driver because you're missing the latest version.


Got it. Works fine! I forgot about the summer update because I use OpenGL a lot more, but it's good to update DX anyway!

Your tutorial will be put to a true test as I start implementing skeletal animation myself :) thanks!

Share this post


Link to post
Share on other sites
Quote:
Original post by Wudan
That looks really really good. I wish there were more comprehensive tutorials like this written when I coded my skeletal animation system, this is the best article on the subject I've yet encountered.

Excellent work.


Heh, I wanted to make sure I covered every point. I noticed a lot of tutorials online fail to present nice C++ code that looks pretty portable. I know a lot of beginner get confused asking, "When do I lock my buffers?" - if they're using DirectX or they may think they need a lot of advanced math routines. Just wanted to present some methods that are pretty easy to hack out.

Share this post


Link to post
Share on other sites
Quote:
Original post by vajuras
Heh, I wanted to make sure I covered every point. I noticed a lot of tutorials online fail to present nice C++ code that looks pretty portable. I know a lot of beginner get confused asking, "When do I lock my buffers?" - if they're using DirectX or they may think they need a lot of advanced math routines. Just wanted to present some methods that are pretty easy to hack out.


Well,what I like the most is probably your explanations - many skeletal animation tutorials seem like they're missing vital explanations that can leave the neophyte in a state of catatonic shock.

I estimate that this tutorial could have saved me 40+ hours of research and coding time when I was first learning about this subject. Skeletal animation is a very complex subject (IMHO), not to be taken lightly.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
" (if only one vertex is associated with a bone, then the weight is 1). "

I think you mean :

(if only one bone is associated with a vertex, then the weight is 1).

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
" (if only one vertex is associated with a bone, then the weight is 1). "

I think you mean :

(if only one bone is associated with a vertex, then the weight is 1).

Better yet, these sentences:
Quote:
Certain vertices within the mesh may be associated with more than one bone so it is important that the weight associated with the vertex is present also (if only one vertex is associated with a bone, then the weight is 1).

could maybe be changed to:
Quote:
Certain vertices within the mesh may be attached to more than one bone so it is important that we associate a weight with the vertex to reflect this (if a vertex is attached to only one bone then the weight is 1).

Anyway the tutorial looks very good, just skimming through it. I haven't yet written support for skeletal animation, but I need to, so maybe I can put your tutorial to good use. :)

Share this post


Link to post
Share on other sites

This topic is 4863 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this