Entity Type
A CrowdEntityType 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. It can be useful to define entities types when placing them in the scene (see the Population Tool) and it is mandatory when animating Entities with behaviors (see the Motion Behavior)..
Notice that sharing the same skeleton hierarchy, does not necessarily means that all the entities of a type will look the same. Skeletons can be scaled in various ways, and assets can be added or removed on some people to add some diversity.
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).
Creating an Entity Type can be performed through the following options:
- Crowd Shelf:
- Crowd Menu: CrowdEntityType Node
- MEL command: glmCrowdEntityTypeNodeCmd;
Configuration
An Entity Type defines the following attributes:
Attributes of an Entity Type
Entity Type Id | Unique id of the relative Entity Type |
Animation Attributes
Skeleton file (.gsk file) | File describing the hierarchy of the skeleton that will be displayed in Maya (see the skeleton description) |
Mapping File (.gskm file) | File describing the correspondence between the Golaem Crowd internal skeleton and the skeleton of the rendered character (see the skeleton mapping). |
Mapping LOD | To enhance performances, the mapping LOD defines which bones will receive animation. If animating finger for this Entity Type, this parameters should be set to High. |
Shape File (.gsks file) | File describing the rigid body shape to use for physics computation. It can be generated thanks to the Skeleton Shape Editor (see the rigid shape editor) |
Edit Skeleton Shape | Launch the Skeleton Shape Editor for the current Entity Type (note that to be able to launch it, the skeleton and mapping files should have been set, and the Entity Type re-selected in order to load them) |
Behavior Attributes
In Behavior Container | BehaviorContainer attached to this Entity Type. A Behavior Container is automatically created with an Entity Type |
Display Attributes
Display color | color of the Entity belonging to this type at the different steps (see picture below) |
Rendering Attributes
Rendering Type Id | id of the rendering type to be used by the Entity Type (see how to assign rendering types to characters). |
Rendering Type PPName | Name of the float per-particle field of the relative particle system, in which the Rendering Type Id of the Entities is stored. If the field does not exist or if its value is negative, the global Entity Type's Rendering Type Id (see above) is used |
Avanced Attributes
Enable Physics | should be checked in order to enable physics simulation on this Entity Type. Not checked by default because it affects the simulation performances. |
Adaptation mode | enables to set a particular adaptation mode per Entity Type (by defaut the Crowd Field adptation mode is used) |
Exclude From Neighborhood | if checked and if it has no Navigation Behavior running, the corresponding Entity will not be taken into account by other Entities. |
Illustration of the use of Entity Types during the placement step (see the population tool)
Illustration of the use of Entity Types during the animation step (see the population tool)
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.
To know how to unmap two nodes, please see Usual Manipulations
To know how to unmap two nodes, please see Usual Manipulations
To re-register an Entity Type, you can map it to the Crowd Manager.
To know how to map two nodes, please see Usual Manipulations
To know how to map two nodes, please see Usual Manipulations