• Advertisement
Sign in to follow this  

animation blending

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

hello, i have my models in the MD5 format, which stores its animations as a skeletal. now i want to blend two animations, so that for example my character can clap his hands while he is walking. is averaging the two skeletons the right way to do this?

Share this post


Link to post
Share on other sites
Advertisement
No, because then you wouldn't get proper animation for either.

I don't know if that's easily possible (granted, I'm still in the middle of writing my skeletal animation classes, so I really know very little), because the skeleton is for the whole model.

I suppose you could find the joints for the arms, and update those for the clapping animation, and find the joints for the legs and update those for the walking animation, but usually the modeller (I think) would create another seperate animation that combined the two.

Share this post


Link to post
Share on other sites
thanks for your reply.

Quote:
Original post by Endar
I suppose you could find the joints for the arms, and update those for the clapping animation, and find the joints for the legs and update those for the walking animation, but usually the modeller (I think) would create another seperate animation that combined the two.


well, but then the character would only be able to start clapping at a specific frame in the walking position, unless the modeller creates one animation per frame of the walking animation, which is a big overhead IMO.

Share this post


Link to post
Share on other sites
But, keep in mind that if the model needs to do anything, an animation will generally be created.

I have the source SDK for half life 2, and I've taken a look at the different animations for the Alyx character. There are far more than I would have thought. For everything that the character does, there is an animation.

For each idle pose, for crouching, for walking, for reloading, even for crawling out of a vent.

And, yes, the character would only be able to start clapping at a specific frame in the walking position, but the modeller would obviously make it look life-like, and it's not going to be some 30 second animation. It's going to be a 3-4 second loop. And, you'll probably have blending to interpolate between the previous animation of the character and the next one (the walking and clapping one), so it's going to look realistic.

Keeping in mind that I don't know a whole lot about skeletal animation, it really seems that to do something like this in your code would seem like you were creating an animation on the fly, and would seem to be overkill (at least in my opinion), as a good modeller would make the animation look realistic and so you wouldn't notice that every second clap happens when the character's left foot is on the ground, or anything like that.

Share this post


Link to post
Share on other sites
Quote:
Original post by ehmdjii
now i want to blend two animations, so that for example my character can clap his hands while he is walking.
is averaging the two skeletons the right way to do this?


It would be more useful if your animations would have weights just like bones do. The easiest way to find out more is googling for (surprise) animation blending.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
It really depends how the animations are stored. If the clapping animation only affects the arms and doesn't contain keyframes for the legs, then you should be able to blend the clapping animation 100% onto the walking animation without the walking legs being affected.

A worse case would be blending a walking animation and a running animation since the legs are affected in both. In order for that to work, the animations would have to be synchronized.

Share this post


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

  • Advertisement