Combining physics simulation w/ keyframed animation?


#1

So, what a nice thing to be the one to “deflower” a new forum here on CGtalk!

I’m a game developing 3d artist with a flair for animation technology, who have been assigned the somewhat ungratefull task of doing some basic research on how to combine believable ingame physics with keyframed (and/or mocapped) animation data.
I know, this is coder work, but all of our coders are busy doing other stuff at the moment. My part of the task is to make a research that identifies key components, possible middlewares, knowledgeable people, good books and publications on the matter, and to simplify the process of further studies for the software engineers.

The game in question a 3D next generation console game. I cannot give any hints about plot, franchise, gametype etc, sorry!

My problem: The keyframed character animation must blend smoothly with the physics simulations, in real time. Physics simulations should be able to trigger keyframed sequences (like a character on a pile of boxes that begin to fall over, causing the player to wave his arms to regain balance), and vice versa.

Can anyone give me some bearing on where to turn, who to ask, what to read? Any gamedevs here who have been put to the same task?

All help greatly appreciated!

-Daniel Nygren
Stockholm


#2

Originally posted by moroten
So, what a nice thing to be the one to “deflower” a new forum here on CGtalk!

sry but the honor is mine, I was first
:smiley: :smiley:


#3

Hi, I don’t think that what you’re suggesting would be the best course of action.The main point and disadvantage with keyframed animation is that it can’t dynamically react to ‘real’ physics.

I think that you’d be better off heading in the direction of inverse kinematics or parametric skeletal animation. In these ways you can allow the different parts of the body to react to physics. I think Inverse kinematics are used in Halo (correct me if I’m wrong), which allow the characters to ride on the back of a jeep (with their arms bouncing realistically) and also fire a gun (with their body bouncing from the recoil).

These methods are a lot better than simple keyframing, although I suppose you could look into a hybrid method somewhere in between…

Have you check out GamaSutra.com (there could be some interesting articles there)


#4

I have written a engine whit some featiures like the ones you reqest.

What i did was that i had two representations of the animation one that stricktly folowed the animation the animators provided and then I created a second set was a fully pysicaly simuladed version. Then i created a force that would always try to make the simulated match the animated one. If the animation makes slow motions the simulated one keeps up, but if the motions are fast or if we add external forces like wind or colition the simulation is going to take over.

This simulation can be on diferent levels, ither on skeleton level (in my opinion the best result) or on vertex level. vertex level can be better on parts of the object like cloth.

If you need more help just ask.

E


#5

Eskil, could you please contact me at daniel@pointblankgames.com, I might have a proposition for you.

-Daniel


#6

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.