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 files on Entities
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
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)
Geometry Animation changes the source FBX/GCG geometry during a simulation or play a FBX/GCG baked animation
Cloth adds a cloth simulation on an Entity
Constraint constraint any Maya object (emitter, locator, light…) to an Entity bone
Attribute applies simple mathematics operations on per particle attributes at each frame
Script applies a script command at each frame
Steer is used in addition to Flock Behavior to add a goal to flock Entities
Flock applies flock navigation forces to entities
Set Formation enables a formation for a group of Entities

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.
 
Entity Type Dynamic Attribute

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.