[ODE] ode & dynamic skeletal animationsystem

Ronald Beirouti rbeirou at Softimage.com
Fri May 16 03:20:02 2003


One way you might try to do this is by having two of your characters. One will have strictly your animation on it. The other skeleton would be rigged up with all the dynamics, i.e. constraints at the joints, mass, etc. You would also add constraints between the two skelatons. The second skeleton would be the result skeleton with all dynamics applied and collision response. I think the constraints could be spring constraints (you'll have to implement yourself) and would connect the two skeletons at each joint. With a proper setup andn damping on the spring constraints you might end-up with a good result. Anyways, it looks like something simple enough to be worth a try.

	.. Ronald



-----Original Message-----
From: Anselm Hook [mailto:anselm@hook.org]
Sent: Friday, May 16, 2003 1:19 AM
To: Nguyen Binh
Cc: ode@q12.org; mdavid@ea.com; Dietmar Suoch
Subject: Re: [ODE] ode & dynamic skeletal animationsystem



> DS> i'm currently working on a prototyp for my diploma thesis.
> DS> i made a realtime skeletal character animation system and
> DS> now i would like to influence the bones and therefore the
> DS> played animations. (let it be dynamic ;)
> DS> so i thought about a physics engine/API, because bones are actually
> DS> joints.
> DS> sounds a bit like ragdoll physics, but it's a different approach.
> DS> rag doll physics apply to the character after death and replaces so
> DS> called death-animations.
> DS> i'd like to let forces or params influence the animations so
> DS> they do not look the same all the time they are played.
> DS> i do not necessarily need to influence anims all the time,
> DS> only under certain circumstances (explosions, wind from any direction,
> DS> areas with lower/higher gravity, etc.).
> DS> how could i do this?
> DS> i think i would need motion mixing (mixing the currently played
> DS> animation with the calculated bone-positions, of course with
> DS> a kind of weighting factor).

>     Right, they called them online and offline animation. There is a
>     demo called Alien Skinned Mesh of Bongfish studio implement that.
>     And it comes with a doc. Try to google it, if you can't find it
>     then email me privately and I will send to you.

> DS> should gravity be 0 and should only integrate about specific
> DS> time steps and applyspecific forces?
>
> DS> any other ideas or comments?

This is a common problem.

Often in the entertainment industry we will have motion captured movement
of a puppet in space.  Or alternatively an artist will animate a series of
"statues" to create the appearance of movement.  However we want our
animated characters to be 'live' and to interact with their environment.

Your approach of mixing may work actually - but it may not handle
collision cases very well.  Ultimately you are "coercing" or "popping" the
dynamical system and its internal state may not gracefully accept this.

Trying a purely dynamic puppet may also be worthwhile.

The animation data contains enough information to derive the kinds of
forces that would have to have been applied to the individual bones.

If you extract these forces then you can re-apply them to a purely
dynamics based rag-doll and you should be able to visualize the same
apparent animation except that it will be dynamically driven.

Once it is dynamically driven then it can also be influenced by other
dynamics based forces.

In practice the approach is more likely to involve applying forces to
bones every iteration in order to attempt to get them to their registered
position.

You need to decide the maximum strength and application position of the
kinds of forces you are going to consider legal in attempting to coerce a
dynamically drifting bone back to its correct position.

I have not actually done this myself so your mileage may vary; but I have
seen others do it and it did seem to work for them.

In any case, good luck, it sounds like a worthwhile problem to solve.

 - a


_______________________________________________
ODE mailing list
ODE@q12.org
http://q12.org/mailman/listinfo/ode