Developer Guide (Version 1.11)

Fall and Play

"Fall and Play" activates when a character is ragdollized (on an interface level, it is called RelinquishCharacterPhysics) with a >0 stiffness. This activates angular springs in the physical ragdoll that attempts to bring the joints to the angles specified in the current animation frame. The character also tries to select an animation internally based on the current fall and play stage. If there are none, or very few, physical contacts, this will be a falling animation; otherwise it will be the first frame of a standup animation that corresponds to the current body orientation.

Standup is initiated from outside the animation system through the fall and play function. During the standup, the character physics is switched back into an alive mode and his final physical pose is blended into a corresponding standup animation. This, again, is selected from a standup anims list to best match this pose.

Filename convention for standup animations: When an animation name starts with "standup", it is registered as a standup animation. Also, a type system exists which categorizes standup animations by the string between "standup_" and some keywords ("back", "stomach", "side"). You can control which type to use with CSkeletonPose::SetFnPAnimGroup() methods. At runtime, the engine checks the most similar standup animation registered to the current lying pose and blends to it.

Some example filenames:

  • standUp_toCombat_nw_back_01

  • standUp_toCombat_nw_stomach_01

While the character is still a ragdoll, it is also possible to turn off the stiffness with a GoLimp method.