Animation... hmmm

Blitz3D Forums/Blitz3D Programming/Animation... hmmm

poopla(Posted 2003) [#1]
Does blitz have what it takes currently to do animations like they have in most modern games? I dunno how you would go about doing something like blending a strafe animation into a running or walking animation seamlessly.
Any Ideas? ( I know how I will do it if blitz has not native support, but I dunno how to do it with said native support.)


Rob(Posted 2003) [#2]
Yep. This is something I am good at ;)
The trick is to transfer the animation from source bones to destination bones.

For example, with animsequences, you can smoothly animate from walk to run, etc, but cannot animate parts independantly while this happens such as firing / looking around.

To fix this, we have two sets of bones. One for running, and another for firing. You copy the relevent run anims over to the actual model bones. This is just rotation data as you have a hierarchy.

Of course since you're in control of what bones rotate, and where they get their rotation data from, you can source this from any other boned model, or even make the head tilt in code.


Gabriel(Posted 2003) [#3]
No weighted vertices though :(


poopla(Posted 2003) [#4]
Yeah... So your saying interpolate between the actual animation's bone's position's?


jhocking(Posted 2003) [#5]
There is native support for animation blending (ie. blending from the current position to a new animation.) Look at the Command Reference for the Animate command.

There isn't native support for animation masking (playing separate animations for separate parts) but because Blitz gives direct access to a model's bones you can do it yourself as Rob described. Or just rotate the appropriate bones in code. For example, you can do strafing just by rotating the spine correctly while playing a running forward animation.


mearrin69(Posted 2003) [#6]
Is there anything in the code archives that details the technique Rob describes?