Entity Surface Shape

Golaem Crowd integrates a fast real-time renderer optimized for rendering thousands of characters. It supports various rendering modes from impostors to skinned mesh.
 
When an Entity Type is created, the associated Entity Surface Shape is automatically created and associated.
 

Configuration

An Entity Surface Shape defines the following attributes
 
Entity Surface Shape rendering skinned mesh preview
 
Display Type mode used for preview rendering (see below)

The following attributes are available only in "bone" mode:

Bone Radius radius factor used to compute the width and depth of the box used to display bones
LODPixels Size A LOD system is available and allows bones smaller to a size in pixels to not be rendered. LODPixels size value of 8 (default) sets the preview renderer to discard bones which on-screen size is lower than 8 pixels;
 
The following attributes are available only in skinned mesh mode:
 
Skinned Geometry list the different meshes used to create skinned geometry for display
Rigid Geometry list the different meshes that should skinned using only the most appropriate bone (e.g. for props like shields or spear...)
Hue Variation Factor A random factor to be used to create color variations on Entities
Use Diffuse Texture Apply the first file texture from the mesh shader as the diffuse texture component. If unchecked or no diffuse texture is available, the attached Entity Type color attribute is used for albedo.
Use Scene Lights Take scene lights into consideration when shading the Entity
Refresh Used to recompute the Entity display if the source meshes have changed.


A shader with diffuse map supported by the previsualization

The Advanced Navigation Display Attributes layout contains some advanced parameters available for debug purposes mainly.
 

Rendering Modes


The various rendering modes

There is an adapted rendering mode for each kind of simulation you do. Impostors are better suited for fast preview of characters path, Bones modes for fast preview, and Skinned Mesh for complete animation preview. 
 

Impostors

Impostor is the simplest preview mode
 
Impostor is the simplest preview mode. It is a modified cylinder, which thinner part indicates entity's direction. Radius and height of the cylinder are entity's properties.
 

Bone modes

The same skeleton viewed in "All Bones", "Mapped" and "Mapped + Rigidshape" modes
 
When one of this mode is selected, a box is rendered for every bone composing the skeleton.
  • Its length is the distance from the bone to its children median position.
  • Its width and depth are a fixed ratio (0.25) multiplied by the Bone Radius attribute.
The mapped bones mode allows to render only bones that have been mapped in the skeleton converter tools
 
The Mapped+Rigidshape mode replaces simple box rendering with rigid shape when available. Those shapes can be edited thanks to the Rigid Shape Editor.
 

Skinned Mesh

Skinned preview is made on the GPU. This means you need a ShaderModel2 compliant card (GeForce8 and above, Radeon 2XXX and above).
  • The frame rate will vary depending on your GPU power, your mesh complexity and character instances. With a GeForce 9800, you can expect 60Hz preview with a thousand characters each having 8000 vertices.
  • Ambient, directional and point lights are supported. Rendering performances will suffer when too many lights are used.
Notice that this previsualization skinning mode is automatic and optimized for speed. As it doesn't take into account the Maya/FBX source skinning weights, it may differ from the Maya skinning.
 
The root bone and the corresponding geometry must be placed at world origin so that the automatic vertex weight can be computed properly.
 
Root transform for skinned mesh must be placed at world origin
 
When the mapped geometry has changed, the preview model should be updated by using the "refresh" button.