Main Concepts

Even if Golaem Crowd relies on Maya and Maya particle systems, it introduces new concepts and relationships which need to be understood before starting.

Entity & Entity Type

An Entity corresponds to a simulated 3d crowd character. Each Maya particle connected to a specific Golaem Crowd Field corresponds to an Entity. Each Entity belongs to an Entity Type. The following picture illustrates the concept of Entity in a crowd scene:


Entities of the battle crowd scene.

An Entity Type defines a type of character in the crowd (e.g. front-line soldiers, back-line soldiers, archers...). Entities of the same Entity Type share the same Behaviors: this does not mean that all the Entities of the same Entity Type play the same Behaviors at the same time, it just means that they will all react the same way to the same Triggers. The following picture illustrates how the previous Entities are divided into Entity Types:


Entity Types of the battle crowd scene.

The following picture illustrates the relationship between Maya particles, Entities and EntityTypes:


Relationship between Maya Particles, Entities & Entity Types.

Behavior Container & Behavior

A Behavior Container is an object which encapsulates a graph of Behaviors. Each Entity Type defines its own Behavior Container: all the Behaviors added to an Entity Type Container will be affected to their corresponding Entities.

A Behavior is a built-in and atomic action which can be executed by an Entity (go to a target, play an animation, look at a target...). Behaviors belong to a Behavior Container and can be combined together to create a more advanced action and react appropriately to events. The following picture gives an overview of the Behaviors affected to the EntityTypes:


Behavior & Behavior Containers of the battle crowd scene.

The following picture illustrates the relationship between Behaviors, Behavior Containers and EntityTypes:


Relationship between Behaviors, Behavior Containers & Entity Types.

Crowd Character & Rendering Type

A Crowd Character is the description of the meshes of a Maya character divided in Assets Groups. The following picture illustrates how a Crowd Character can be build from a Maya character (notice that the character meshes have been separated for a better understanding of what is a Crowd Character):


Crowd Character created from a Maya Character

A Rendering Type is a specialization of a Crowd Character which specifies which Assets Groups will be used and the relative repartition of each asset. Each Entity Type belongs to a Rendering Type. The following picture illustrates how several Rendering Types can be created from the same Crowd Character:


Rendering Types created from a Crowd Character

The following picture gives an overview of the Rendering Types affected to the EntityTypes:


Rendering Types of the battle crowd scene

Finally, the following picture illustrates the relationship between Crowd Characters, Rendering Types and EntityTypes:


Relationship between Crowd Characters, Rendering Types & Entity Types.