/
Behaviour Models

Behaviour Models

In depth learning on Behaviour Models can be found in this course in Motive Academy.

 

Sometimes you want to control or monitor an object in a scene in a way that doesn’t map to an existing Motive Resource or Condition. For example:

  • Is a door opened or closed

  • Is a plug plugged in or unplugged

  • Is a screw fastened or unfastened

  • What is the current setting of a dial or other controller

  • Etc.

Behaviour Models allow you to manage these sorts of objects without having to create new Resources or Conditions. Creating a Behaviour Model allows you to map named object states into elements that can be managed in a Motive Script.

Create the Model in the Editor

On the Script side, Behaviour Models are created in the editor in a Behaviour Model catalog. A Behaviour Model allows you to establish named states that will map to the states of objects in a scene. Behaviour States are currently limited to Enums and primitive types. In the example below, you can see the various states of a meat slicer have been connected to a Behaviour Model:

Wire Up the Object in the Scene

There are a number of components in the SDK that can be used to translate object states to a Behaviour Model. This list will continue to grow. These components are broken into:

  • StateListeners: monitor a Behaviour State and update an object based on that state.

  • StateSetters: monitor an object and set a Behaviour State based on the object’s state.

  • StateHandlers: combine a listener and a setter [deprecated - use Two-Way links instead]

Note that either a Listener or Setter alone will not offer the other functionality: e.g., if an object has only a StateSetter, users will be able to monitor a state using a variable or an object interaction, but updating that variable in a Script will have no impact on the scene.

Related Articles

Related content

Boolean State Listener
Boolean State Listener
More like this
Listeners, Setters, and Two-Way Links
Listeners, Setters, and Two-Way Links
Read with this
Set Object State Resource
Set Object State Resource
More like this
Characters, Animation Controllers and Storyflow
Characters, Animation Controllers and Storyflow
Read with this
Use an Enum to Track a State in a Behaviour Model
Use an Enum to Track a State in a Behaviour Model
More like this
VR Grabbable Unity Setup -> Grasp Resource (Storyflow)
VR Grabbable Unity Setup -> Grasp Resource (Storyflow)
Read with this