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

Animation 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 Random If checked, the Entity will have a random scale between Scale Random Min and Scale Random Max. 
Scale Random Min The lower scale bound
Scale Random Max The upper scale bound
Scalepp Name If Scale Random is unchecked the Entity scale value will be the value of this ppAttribute name.

For more explanation about how to use ppAttributes, see ppAttributes Handling.


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

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.

Radiuspp Name / Radius Name of the PPAttribute containing the Radius value. If empty or invalid, use Radius Attribute. For Navigation purposes an Entity is represented as a bounding cylinder, the Radius parameter represents this cylinder radius. An Entity will not be able to navigate in spaces smaller than this radius.
Personal Spacepp 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.
Heightpp Name Name of the ppAttribute containing the Height value. If empty, uses Height Attribute. For Navigation purposes an Entity is represented as a bounding cylinder, the Height parameter represents this cylinder height. An Entity will not be able to navigate in spaces smaller than this height.
Radius To Height Ratio Ratio with which we should multiply the Entity radius with to define the height of the Entity
 For more explanation about how to use ppAttributes, see ppAttributes Handling.

Perception Attributes

Those attributes are related to the Sensor Locator and Activate Sensor Behavior.

Override Detection Shape If not checked, radius and height will be used to define the Detection Shape of the entity used in the perception system (see the Sensor Locator and Activate Sensor Behavior). The detection shape defines the volume of the entity - which is a box - in the perception system. The scale of the entity is applied to the detection shape.
Detection Shape (W/H/D) Detection shape box size (width / height / depth or x, y, z)
Detection Shape Offset The vector by which to offset the detection shape box relative to the entity position.


Traffic Attributes

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

Radius To Length Ratio The entity (car) length, as defined by a ratio of the radius (see Population Tool or Emit behavior configuration).
Radius To Width Ratio The entity (car) width, as defined by a ratio of the radius (see Population Tool or Emit behavior configuration).
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

Rendering Attributes
Rendering Types List of the Rendering Types assigned 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).
Rendering Type PPName Name of the float per-particle field of the relative particle system, in which the Rendering Type Id of the Entities will be fetched. If the field does not exist or if its value is negative, the global Rendering Types list and weights will be used (see above).

For more explanation about how to use ppAttributes, see ppAttributes Handling.

Golaem Simulation Attributes

Golaem Attributes for EntityType

Golaem Attributes for an EntityType

Golaem Attributes set on an EntityType are always "per entity". The initial value is set on first component for float and int types.

 

Advanced Attributes

Enable Animation Blind Data Allows to replay specific animation blind data on the entity type. See here for more information about it.
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. 
Master / Slave Level 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 Master/Slave Level 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.

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.