Mixing character animations with physics applied to different bones?

I’m looking at “Drunken Bar Fight”, a VR game where one can manipulate character meshes that seem to also have animations on them. Here is a youtube video: https://youtu.be/oTYuQ6NXrVM

It appears that the “enemies” have both character animation cycles on them, for example posing like they are about to box you, taking a stance and then swinging, but then also react to being grabbed, punched, thrown across the room.

I’m wondering how the developers made this possible and if this can also be done in babylonjs?

Currently I know about using mixamo to bring in a gltf character model with some pre-defined animation groups, e.g, walk, idle, swing and punch, kick etc. I think I can use that to get me half way there.

But all I know how to do is get the animation group by name and play or stop it.

I don’t know how I can get that same character mesh to react to physics e.g. operate like a ragdoll when tossed about. They seem to relax their pre-canned animated when being tossed around and switch to the influence of physics for each bone maybe?

Is there a technique to allow a character to be influenced by animations until an intersection happens and then switch to physics mode where it lets the impulse force play out and then dial the recovery animation back in?

1 Like

The video looks like pure inverse kinematics with pre-recorded limb placement for “stances”.

You could achieve similar with some keyframe finesse or by getting familiar with a physics lib.

Hmm… so they might have built a complete IK body, and then animated the IK targets? :thinking:

https://youtu.be/o_DhNqHazKY anyone here know how to do this?

That’s the impression I get.

My plan for similar is to run some simple ik on hands/feet and hard code the core of the character