Physicalize

A Physicalize Behavior (bePhysicalize) activates / deactivate physics simulation for an Entity. In other words, it allows to switch Entities back and forth to ragdolls, animate a physicalized limb (such as a horse tail), collide with other Entities or the ground...


A Physicalize Behavior in the Behavior Editor

To use a Physicalize Behavior, a Physics Locator must be present in the scene, and referenced in the Crowd Manager.

Unlike the other behaviors, the Physicalize Mode of an Entity only happens when the behavior is stopped (see Triggers to see how to stop a behavior), but physicalization/dephysicalization is done when the behavior is started. This allows to control how the previous velocities and inertia will be inputted in the Physics simulation.

CREATION

  • Behavior Editor / Behavior Library: 
  • Golaem Menu: Crowd Behaviors / Behaviors / CrowdBe Physicalize Node
  • MEL command: glmCrowdBePhysicalizeCmd;

CONFIGURATION

A Physicalize Behavior defines the following specific attributes. For common attributes see Behavior Common Attributes.

Physics Attributes


Physics Attributes of a Physicalize behavior

Behavior Mode

Select the behavior mode:

  • Physicalize: activates physics simulation for the specified Body Parts (see below) of the Entity.
  • Dephysicalize: deactivates physics simulation for the specified Body Parts (see below) of the Entity.
Physicalize Mode

Select the physicalization mode (in the case of Behavior Mode is set to Physicalize):

  • Dynamic Rigid Body: the Entity (or the selected Body Parts, see below) is controlled by physics simulation
  • Kinematic Rigid Body: Switch back a Dynamic Rigid Body mode Entity (or the selected Body Parts, see below) to the default animation mode, where it can be controlled by Kinematic behaviors (Motion, Locomotion, IK...)
  • Local Servo Rigid Body: the Entity (or the selected Body Parts, see below) is controlled by physics simulation, but a torque (a rotation force) is applied on each joint to keep the local orientation of the currently played animation
  • World Servo Rigid Body: the Entity (or the selected Body Parts, see below) is controlled by physics simulation, but a force and a torque are applied on each joint to keep the world positions and orientations of the currently played animation
Lock Posture on Stop

Available only when Behavior Mode is set to Dephysicalize

If checked, the Entity keeps playing the last posture infinitely (very useful for dead characters who should stop moving). If not, the Entity goes back to its neutral posture or play some motion (if a Motion or Locomotion Behavior is running)

Notice that when the Entity is dephysicalized, it can not be used as a collider with other Entities any more. If you want to freeze an Entity and keep it in the physics simulation as a collider, see the Static Body Physics Mode above.

Blend to animation time

Available only when Physicalize Mode is set to Kinematic

Time during which the ragdoll posture will be blended with the animation when switching back from dynamic to kinematic mode. This allows a smoother switch when recovering from ragdoll to animation.

Servo Attributes

Servo Attributes of a Physicalize Behavior
Orientation Stiffness

Stiffness used to compute the torque to apply on a rigid body to reach the current animation posture.
The greater this parameter is, the most similar to the animation the rigid body orientation will be and the most responsive the animation is.
But with great power comes great instability, use the Damping to fix the instability once the expected responsivity is found.

Orientation Damping Damping used to compute the torque to apply on a rigid body to reach the current animation posture.
The damping part ensure the computed torque will not result in higher velocities than the animation velocity and helps stabilizing the simulation (the highest the value is, the best the stability is).
Position Stiffness Stiffness used to compute the force to apply on a rigid body to reach the current animation posture.
The greater this parameter is, the most similar to the animation the rigid body orientation and position will be and the most responsive the animation is.
But with great power comes great instability, use the Damping to fix the instability once the expected responsivity is found.
Position Damping

Damping used to compute the force to apply on a rigid body to reach the current animation posture.
The damping part ensure the computed force will not result in higher velocities than the animation velocity and helps stabilizing the simulation (the highest the value is, the best the stability is).

Body Mask Attributes

By default, the physics simulation will be computed on the entire body (meaning all joints for which physicalized have been checked when exporting the Character file, see Body Physics Properties). However these physicalized joints list can be filtered by the body mask to compute physics simulation only on specified channels.

Pelvis

if checked, physics simulation is activated on the Entity Pelvis.

Note that this body part should be checked if you want to drive the global position/orientation of the Entity with physics

Spines List of the spines affected by the behavior. You may specify any spine name as seen in the Motion Mapping Panel of the Character Maker.
Star ( * ) wildcard is authorized at begin or/and end of names (i.e. spine*, *spine, etc.).
Separate the channels names by coma ( , ), leading and trailing spaces will be ignored.
Use the * wild card to use all limbs.
Names are NOT case sentitive (compared as lowercase).
Limb Channels List of the limbs channels to play on the entity. Use the  button to open a window with the name of all the available Limbs for the Character Files loaded in the scene. Those names can also be found in the Motion Mapping Panel of the Character Maker.
Star ( * ) wildcard is authorized at the beginning or/and end of names (i.e. left*, *arm, etc.).
Separate the channel names by comma ( , ), leading and trailing spaces will be ignored.
Use the * wild card to use all limbs.
Names are NOT case sensitive (compared as lowercase).
Effector Channels

List of the effectors ​channels to play on the entity. Use the  button to open a window with the name of all the available Effectors for the Character Files loaded in the scene. Those names can also be found in the Motion Mapping Panel of the Character Maker.
Star ( * ) wildcard is authorized at the beginning or/and end of names (i.e. left*, *arm, etc.).
Separate the channel names by comma ( , ), leading and trailing spaces will be ignored.
Use the * wild card to use all effectors.
If an effector channel is selected, the corresponding limb channel is automatically added also.
Names are NOT case sensitive (compared as lowercase).

Physics Collision Attributes

Collision ID of a Physicalize Behavior
Set Collision ID Enable to set a collision ID
Note that the collision ID will only be set on the currently configured mask. By using several Physicalize Behavior, you can set different collision IDs on different parts of the body
Collision Id

Collision ID to set
The Collision ID can later be use in collision triggers

Advanced Attributes

Collision ID of a Physicalize Behavior
Use Kinematic Target When the Simulation Type is Kinematic, this change the way the Rgid Body transforms are updated in the physics world.
If checked, the collisions between the ragdoll and dynamic objects in the scene will be more accurate, but can be too strong, especially when colliding with light objects.
If not checked, collisions will be softer, but some collisions wight not react correctly with fast objects.