Entity Type

An Entity Type defines a type of characters in the crowd (e.g. archer, swordsman…). Entities of the same type share the same skeleton hierarchy and the same behaviors. Entity Type must be created before placing and simulating Entities in the scene.
 
The attributes of an Entity Type are not keyable. Once an Entity Type has been initialized, if attribute values are changed they will not be taken into account until the next reinitialization of the node (start frame of the manager).

Creation

  • Golaem Shelf: 
  • Golaem Menu: CrowdEntityType Node
  • MEL command: glmCrowdEntityTypeNodeCmd;

Configuration


 
Entity Type Id Unique id of the relative Entity Type

Character Attributes


 
Character File (.gcha file)

File describing the Character. It can be made using the Character Maker and contains information about the Animation Skeleton, Dynamics Shapes and Geometry... Open the Character File in the Character Maker by clicking on

Scale Min The lower scale bound
Scale Max The upper scale bound


Illustration of the use of scaled (0.5 to 1.0) Entity Types during the placement step (see the Population Tool

Golaem Simulation Attributes

Golaem Attributes for EntityType
Golaem Attributes for an EntityType

This section lists all the Entity Type Attributes attached to this Entity Type and allows to add new ones or to remove existing ones.

Entity Type Attributes


 
In Behavior Container

Behavior Container attached to this Entity Type. A Behavior Container is automatically created with an Entity Type. Open the mapped Behavior Container in the Behavior Editor by clicking on

In Dynamic Attributes The Dynamic Attributes associated with the Entity Type. See Entity Type Attribute

Animation Attributes

Those attributes are related to the Motion, SyncMotion and Locomotion Behaviors.

Motion Mapping File Motion Mapping File (.gmm) attached to this Entity Type. It is only required if the Motion Mapping Mode is set to "EntityType Motion Mapping File" in an Animation Behavior. To learn how to create your Motion Mapping File, see here

Navigation Attributes

Those attributes are related to the Navigation Behavior.

Personal Space PP Name / Personal Space Name of the PPAttribute containing the Personal Space value. If empty or invalid, use Personal Space Attribute. The Personal Space value represents the physical space surrounding an Entity, which will lead to that Entity moving to avoid another Entity entering its Personal Space. The Personal Space affects how close the members of a group will try to get to each other if there is no Formation behavior. For more explanation about how to use Golaem or PPAttributes, see here.

Perception Attributes

The Perception Shape is voxelized and the voxels that approximate it are what the Sensors can detect. The amount of voxels is defined by adjusting the Max Voxel Per Axis parameter. The voxels that approximate the Perception Shape are also used in the Navigation and Go To behaviors. To visualize the voxels during the simulation, enable Display Entities on the Perception Locator.

Override Perception Shape When checked, it overrides the default Perception Shape defined in the Character Maker Skeleton Tab, using a custom Perception Shape (see Perception Geometry). 
Shape Geometry The geometry that defines the volume of the entity in the perception system. The scale of the entity is applied to the Perception Shape. Only available if Override Perception Shape is checked. More than one mesh can be mapped, but each mesh must be convex, closed and have its normals point outwards.
Shape Offset The vector by which to offset the Perception Shape relative to the entity position.
Max Voxel Per Axis

Maximum voxel count along each axis. The voxel computation will choose the voxel count within the given limit that best matches the perception shape.

The greater the voxel count, the closer the voxels can approximate the Perception Shape, at the expense of performance.

Update Period The period in frames to update the perception shape according to the position and orientation of the entity.

Physics Attributes

These attributes are related to the Physics Locator and the Physicalize Behaviors

Collision Mode

Set how physics collisions are detected for this entity type once physicalized:

  • Default: use the default collision system, all collisions are enabled
  • Disable Collisions: disable all collisions on this entity type
  • Disable Collisions With Others: disable collisions between this entity type and other entities, but keep self collisions
  • Advanced filter: use a trigger with each collision to determine if it should be kept or dismissed
Advanced filter Link to a Trigger that will be launched for each collision pair. If the trigger returns true, the collision is kept, otherwize it is dismissed.
Note that the trigger is launched only when the collision pair (the entity and the collider) meet for the first time, and will not be called again untill they are sufficiently away from each other. It is not possible to change a collision state while it is still occuring.

Traffic Attributes

These attributes are related to the Traffic and the Traffic Goto Behaviors

Length Pivot Percent

0.5 means that the pivot is centered on the car (default) - 0 means that it will turn on its front position. - 1 means that it will turn on its back position.
Any intermediate value is possible, and the configuration should match the actual asset root position, compared to its front most / back most mesh vertices The car will always rotate around the root position, but this configuration is required to insure a proper spacing between cars, and a proper collision detection.

Display Attributes

See here.

Rendering Attributes

 
Add Rendering Type List of the Rendering Types available to add to this Entity Type. and their weights (to be able to assign Rendering Types, it is required to create some in the Geometry part of the Character File).
  • +: add the selected Rendering Type
  • All: add all the available Rendering Types
  • Reset Colors: reset the colors of all the selected Rendering Types. The computed colors are variations of the Entity Type Display Color, the color of the first Rendering Type is set to the Display Color.
(Rendering Types list) List of the selected Rendering Types, their weights and their colors. 
  • -: remove the selected Rendering Type
Remove all Rendering Types Remove all the Rendering Types from the Entity Type

Advanced Attributes


 
Animation Blind Data
  • None: animation blind data won't be used
  • Unmapped joints only: animation blind data will be used only on parts of the skeleton that are not mapped in the .gcha file
  • All: animation blind data will override animation even on parts of the skeleton that are mapped in the .gcha file

See here for more information about animation blind data.

Pelvis Height Ratio The Root Height is a value corresponding to the height delta between the pelvis and the lowest bone extremity. A value of 0 will make the skeleton pelvis at the same height of the particle. 
Update Order When using MasterSlave behavior, the master EntityType should be updated before the slave, so that master has been updated when slaves binds to it. To achieve this, assign lower the Update Order to a master EntityType, and its update will occur sooner in the update process. To make it short, in simple cases, you can assign 0 to the master EntityType, and 1 the the slave EntityType.
Shader Color Attribute Names The name of the shader output color. This name is used to retrieve a diffuse color or a diffuse texture for the "Render Previz" mode.If no shader output plug color is provided, a list of standard names is used. This list contains: diffuseColor, diffuse, diffuseTex, color, tipColor, waterColor, selectedColor, viewportColor
Def. Ground Adaptation The default ground adaptation policy for this EntityType. This setting will act sooner than using a groundAdapt, to choose from start if an entity must be mapped to ground, avoiding sticking an entity to an unwanted ground at first frame.
Def. Viz In Perception The default perception visibility policy for this EntityType. This setting allows to disable the visibility of an EntityType so it will not be avoided when using a Navigation Behavior. It will not be feeled by Sensors anymore.

Relation with the Crowd Manager

When an Entity Type is created, it is automatically registered in the Crowd Manager and, thus, is available to every Golaem node in the simulation
 
Sometimes you want to keep a base file with all your Entity Types, but only use some of them in your current scene. In these cases, it is possible to unregister an Entity Type so that it will not be used in the simulation. Alll that you have to do is to unmap it from the Crowd Manager.