Geometry

A Geometry Behavior (crowdBeGeometry) changes the source FBX or GCG geometry during a simulation or play a FBX / GCG baked animation. This behavior allows dealing with different level of details in term of geometry and/or play animations which are not supported yet by the animation engine (cloths, flags…).
Geometry Behavior in the behavior editor
 
Example of a crowd of cars generated with the Geometry Behavior
Notice that Geometry Behavior animation is not always supported correctly by the Render Previz display mode. To see the result of a Geometry Behavior, it's advised to render the frame instead.

Creation

  • Behavior Editor / Behavior Library: 
  • Golaem Menu: Crowd Behaviors / Behaviors / CrowdBeGeometry Node
  • MEL command: glmCrowdBeGeometryCmd;

Configuration

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

Geometry Attributes

Geometry attributes of a Geometry Behavior
Geometry Id Id of the geometry file to play (the id corresponds to the id of the geometry in the geometry group of the Character Maker's Geometry Tab)
Geometry Path Path to the geometry file to be played
 

Geometry Animation Attributes

These parameters control the way the geometry file is played (if it is required to be played):
Geometry animation attributes of a Geometry Behavior
Loop Animation If this box is checked, the geometry animation will loop automatically when it reaches the Animation Stop Frame. If not, the last frame of the animation will be played until the behavior is stopped
Animation Start Frame Frame at which the animation will start
Animation Stop Frame Frame at which the animation will stop/loop.
N/10th frame subsample Controls at which rate the geometry must be subsampled (useful for motion blur). Valid range is 1/10 (keep tenth of frame information in cache for motion blur) to 10/10 (full rounding in cache).
Blend Behavior If this box is checked, the geometry animation will be blended with the animation generated by other behaviors (such as CrowdBeMotion…). If not, the geometry animation will be played as it is stored in the geometry file.

Init Import Attributes (Per Particle)

Init import attributes (per particle) of a Geometry Behavior
Frame Step Mode This attribute allows a choice of three speed modes:

Frame step modes of a geometry behavior
  • Per particule attribute: Use "Frame Steppp Name" attribute to get the name of the float per-particle field of the relative particle system, containing the frame step which will be applied on the source geometry per frame (per default, one geometry frame played per simulation frame). To learn more about per particule attributes, see ppAttributes Handling.
     
  • Random: The source geometry frame step will be taken randomly between the specified "Frame Step Random Min" and "Frame Step Random Max". This attribute is influenced by the random seed of the Crowd Manager
     
  • Automatic: The source geometry frame step will be automatically computed according to the Entity speed. As it is not possible to determine the complete translation of the character in the geometry file, it is required to specify the "Geometry Speed" (i.e. the translation of the character in meter/second)
Frame Steppp Name See above
Frame Step Random Min See above
Frame Step Random Max See above
Geometry Speed (in m/sec) See above
Start Percentpp Name Name of the float per-particle field of the relative particle system, containing the value of the start percent in the animation (between 0. and 1.). If none is given and if the Start Percent Random box is not checked, the motion will start at its beginning (0.). To learn more about per particule attributes, see ppAttributes Handling.
Start Percent Random If this box is checked, the motion will start at a random time between the specified "Start Percent Random Min" and "Start Percent Random Max". This attribute is influenced by the random seed of the Crowd Manager
Start Percent Random Min See above
Start Percent Random Max See above

Transitions between several Geometry Behaviors

Notice that when sequencing two Geometry Behaviors, Golaem Crowd is not able to compute a transition between the two behaviors. It's up to you to provide a transition Geometry behavior in between if required (see image below).