Behavior Editor Overview

The Behavior Editor is a design tool for creating and managing a Behavior Graph, by combining multiple Behaviors and Operators inside a Behavior Container.

The Behavior Editor also contains the Trigger Editor, a dedicated tool for creating and managing a Trigger Graph. Please refer to the Trigger Editor page for more informations.

LAUNCH

  • Golaem Shelf: 
  • Golaem Menu: Behavior Editor
  • MEL command: glmCrowdBehaviorEditor;

Behavior Editor GUI

The Behavior Editor is composed of a main workspace to design a Behavior Graph, the Behavior Library, the Trigger Editor and its Trigger Library, the Nodes Outliner, a toolbar and a status bar.

Behavior Editor GUI

Main Workspace

The workspace is a node-based graphical interface where you can combine Operators and Behaviors to create a Behavior Graph.

Several workspace tabs can be opened, each one showing the content of a Behavior Container. Without any Behavior Container opened the workspace stays empty, prompting the user to create/open an Entity Types. Opened Behavior Containers tabs are saved with the scene.

Workspace Tabs
 
After running the simulation, Behavior Graph Feedbacks are shown in the workspace. 

Behavior Library

The Behavior Library is the toolbox of the Behavior Editor. It contains three views.

This panel is dockable on either side of the Main workspace. If closed, it can be reopened by clicking the Behavior Library button 

Behaviors view

It provides a quick access to built-in behaviors. Behaviors can be added to the workspace by drag-and-drop.
Go To used in addition to Navigation Behavior to make an Entity, or a particle reach a target
Navigation provides reactive navigation abilities to an Entity
Motion plays a set of Motion Clips on an Entity
Locomotion follows the particle's position and velocity by dynamically blending motions from a given set
Synchronized Motion plays an animation synchronized with the environment
Navigation And Locomotion plays a set of Motion Clips and dynamically blends them together to reach the current target position of the Entity
Physicalize physicalizes an Entity
Force used in addition to Physicalize Behavior to add dynamics' event on a physicalize Entity
Detach detachs a bone or a bone chain from an Entity
Character Controller uses the physics engine to perform ground adaptation and obstacles navigation on physicalized entities / Crowd Rigid Bodies
Look At makes an Entity limb look at a given target
IK makes an Entity reach a given target with a given body limb
Adapt Position adapts the position of an Entity
Adapt Orientation adapts the orientation of an Entity
Adapt Ground changes the ground adaption mode of an Entity
Set Bone allows to edit a bone orientation (affect a fixed value or add a noise function to an animation)
MassSpring adds inertia to one, or several, bone chain(s), according to some spring and damping coefficients.
Channel Operator allows to process input values and output the results in some channel values through a graph of Channel Operators nodes (ChOps). Check out the Channel Operators documentation for more details about this graph.
Activate Sensor enables a sensor on an Entity for as long as the behavior is active. 
Cloth adds a Maya ncloth simulation on an Entity
Apex Cloth adds a NVidia Physx Apex cloth simulation on an Entity
UVPin binds an Entity according to its projected position on source terrain and destination mesh.
Set Terrain

used to switch the ground used for adaptation or the ground orient normals / pin mode

Geometry Animation changes the source GCG / FBX Geometry File during a simulation or play a GCG / FBX baked animation Geometry File.
Constraint constraints any Maya object (emitter, locator, light…) to an Entity bone
Master Slave binds a slave entity position and/or orientation to a master entity bone, with optional offsets.
Emit emits new particles, from a bone position of the current character, with an optional offset.
Kill removes the current entity from the simulation immediately
Script applies a script command at each frame
Set Formation enables a formation for a group of Entities
Steer adds a goal to flock Entities in addition to Flock Behavior.
Flock applies flock navigation forces to entities
Perch On defines all surfaces on which a flock boid may land/stop.
Traffic makes an entity present on the traffic system
Traffic Goto adds a target destination, or a wander behavior, to entities already using the Traffic behavior

Operators view

This view provides an access to Operators. As the Behavior View, operators can be added to the workspace by drag-and-drop.
Behavior Container combination of Behaviors and Operators resulting in a Behavior Graph
Loop process a Behavior several times
Parallel process several Behaviors at the same time
No Order process a sequence of Behaviors in a random order
If selects one connection among several connections and conditions
Random randomly select one connection among several connections
Block blocks the Behavior Graph process until a trigger returns true and then waits a given number of frames to delay
Anchor organize the Behavior Graph

Custom Behaviors view

The Custom Behaviors view is a file browser, pointing on a chosen directory containing Custom Behaviors, i.e Behavior previously saved.

  • Drag-and-drop a Custom Behavior into the workspace to load it. 
  • For Custom Behavior Containers, Double-click to open it in a new tab, drag-and-drop to add it inside an edited Behavior Container.
Notice that the browsed directory can be changed in the Crowd Settings Dialog.

Nodes Outliner

The Nodes Outliner is a snapshot of the Entity Types, Behaviors, Operators, Motion Clips and Triggers currently available in the scene. It contains two views.

This panel is dockable on either side of the Main workspace. If closed, it can be reopened by clicking the Nodes Outliner button 

Entity Types view

It contains the Entity Types and Group Entity Types currently available in the scene and mapped to a Behavior Container.

  • Double-click on the desired Entity Type to open the mapped Behavior Container in a new tab.

Mapped Dynamic Attributes are visible under Entity Types in the view.

  • To add a New Dynamic Attribute, right-click on an Entity Type to open its context menu then select Add New Dynamic Attribute.
 
  • To share Behavior Containers between Entity Types select the source Entity Type first and the destinations after, right click to open its its context menu then select Share Behavior Container.

 

Scene Nodes view

This view is divided in three tabs. Each tab contains a filter box to perform accurate searches on relative nodes. 

Behaviors Tab


Behaviors Tab

This tab contains all Behaviors and Operators of the Maya scene.

  • Drag-and-drop one or several Behaviors or Operators to add them inside an edited Behavior Container.
  • Double-click on a Behavior Container to open it in a new tab.
Motion Clips Tab


Motion Clips Tab

This tab regroup every Motion Clips present in the Maya scene.

  • Drag-and-drop one or several Motion Clips on a Motion/Locomotion Behavior to add them in the simulation.
  • Double-click on a Motion Clip to select a new animation file.
  • Ctrl + Double-click on a Motion Clip to preview it in the Motion Clip Preview tool.. 
  • Click on  to preview the selected Motion Clip in the Motion Clip Preview tool.
Triggers Tab


Triggers Tab

This tab contains every Triggers present in the Maya scene.

  • Drag-and-drop a Trigger on a start/stop Behavior Trigger to use it in the simulation.
  • Click on  to hide Triggers with default values (e.g. start Triggers with only the true Trigger checked)
The Triggers Tab filter box allow to search inside the Triggers attributes.

Tool bar

It contains quick access buttons mostly used for changing the display or editing in the main workspace.

Behavior Editor Tool Bar
Link button, to draw a link between Behaviors/Triggers inside the workspace. It's also possible to drag mouse while holding the middle-button to draw a link
Enable button, to make the selected Behavior/Trigger active
Disable button, to deactivate the selected Behavior/Trigger without removing it from the Behavior Graph
Back to parent button, to get back to the parent of the current Behavior Container. It's also possible to use CTRL+double-click.
Expand selected Behavior Containers. If no selection, expand workspace's collapsed Behavior Containers.
Collapse selected Behavior Containers. If no selection, collapse workspace's expanded Behavior Containers.
Frame all button, to fit the workspace to all Behaviors/Triggers of the current container tab
Frame selection button, to fit the workspace to the current selection. Press "F" Key for the same result
Real size button, to resize the workspace to the initial size
Sticky Notes button, to add Sticky Notes inside the workspace.
Trigger Editor button, to show or hide the Trigger Editor
Behavior Library button, to show or hide the Behavior Library window
Trigger Library button, to show or hide the Trigger Library window
Behavior Outliner button, to show or hide the Behavior Outliner window

Status bar

Behavior Editor Status Bar

It contains a contextual report relative to the current selection. Behavior Graph Feedbacks are also shown in the Task bar.