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 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.

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 ppAttributes, see ppAttributes Handling.

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 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.


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

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 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.

 

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. 
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.
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.