State machine

State machine

The state machine module builds a state machine network for the group agents. It also handles state changes during the simulation.

 


Attributes

Attributes

Type

Overridable

Description

Attributes

Type

Overridable

Description

behave3d

bool

no

If true, the agents will move freely in 3D as if they were particles.

fixLegStretch

bool

no

If true, compensate the leg stretching.

frameRate

string

yes

The frame rate used for playing the agent animation.

gravityField

string

no

The name of the gravity field.

heightField

string

no

The name of the height field.

heightFieldOffset

double

no

An extra offset applied to your agent heights from the ground.

seed

int

no

Seed random value.

startFrame

double

yes

The start frame of the state machine clips. If set to a value lower than 0, a random value is used instead.

frameOffset

int

yes

A frame offset

state

int

yes

The current state.

debug

bool

no

Enables module debug drawing.

stateRandomDelay

vector2

yes

This attribute accept a range (by default is 0,0). If you put a range of 5, 20 then every agent will have a random delay between 5 to 20 frames when changing state. If you want a specific delay without the random, use the same value in both the vector components, i.e. 5,5.

adjustHeightOnAgentCreationOnly

bool

no

If on, the agent heights are adapted only on the first frame.

rayCastGravityField

bool

no

If set to true samples the gravity field using a ray cast, otherwise it uses the closest point

setStateOnAgentCreationOnly

bool

no

Sets the state on agent creation only

setFrameRateOnAgentCreationOnly

bool

no

Sets the frame rate on agent creation only

allowPathSearch

bool

no

if on, the state machine will search a path to reach the new state if it is not directly connected to the current state. If a path is found all the states in between are played as well as the new state.

disableFootLock

bool

yes

Disables the foot lock

maxUpAxisAngle

double

yes

Maximum up axis rotation angle in degrees

alignUpAxisTresholdAngle

double

yes

Threshold angle used to realign the agent up axis with the global up axis

sitAdaptation

bool

yes

If on, the agent will adapt to the height field when playing sitting clips. The sitting factor must be properly configured for the clip being played.

softIkDistance

double

yes

The soft ik distance used by the IK algorithm. Set this value to 0 to disable the soft IK.

maxAngularAcceleration

double

yes

Maximum angular acceleration per frame (degrees). Only used with Locomotion states.

maxLinearAcceleration

double

yes

Maximum linear acceleration per frame. Only used with Locomotion states.

angularAverageNumFrames

int

yes

Number of frames used to compute the angular velocity as the average of the previous n values. Only used with Locomotion states.

linearAverageNumFrames

int

yes

Number of frames used to compute the linear velocity as the average of the previous n values. Only used with Locomotion states.

forceUnsyncedClips

bool

yes

If on, the module will play unsynced clip if the linear and angular velocities of the current frame match one (the average is ignored). Only used with Locomotion states.

disableFootLockOnLegStretch

bool

yes

Disables the foot lock when leg stretches too much compared to the bind leg length.

legStretchMaxRatio

double

yes

When disableFootLockOnLegStretch is on, this value provides the maximum ratio between the current leg length and the bind leg length. The foot lock is disabled when the ratio is greater than the given value.


 

Copyright © 2017, Toolchefs LTD.