Transitions

Transition Properties

Not a node as such, but this covers the properties on transitions:

A Transition

Supported properties

Transition Properties
  • Transition

    • Priority Order is supported

    • Bidirectional is unsupported

    • Blend Logic is unsupported (always assumes a Standard Blend)

    • Transition Rule Sharing is unsupported

    • Transition rules themselves are covered below

    • Automatic Rule Based On Sequence Player In State is supported

    • Automatic Rule Trigger Time is supported (both nonnegative and negative configurations)

    • Sync Group Name to Require Valid Markers Rule is unsupported

  • Blend Settings

    • Note: Blend settings are always assumed to be a linear transition over 0.2s whenever a state change occurs within the crowd (see CrowdAnimBlueprintCommon::CrossfadeDuration constant)

  • Events

  • Notifications

Transition Rules

Simple transition rules can be achieved through comparisons on one or more inputs combined with logical operations.

For example, the following kinds of expressions would be supported

  • AnimVar.IsMoving == 1

  • AnimVar.HasLowGravity != 0

  • (Get Relevant Anim Time > 0.4) & (AnimVar.IsJogging == 1)

where the expressions are all of the form [Input] [Comparison] [Constant]. The last case is simply a logical combination of two of these, which also fine.

A simple transition rule just reading a single Anim Var property via a macro
A more complex transition rule reading two properties with some logic

Variables Supported

  • Anim Var inputs

    • Anim Var inputs generally supported

    • As noted here, Boolean variables are all internally represented as float, so care around precision may be needed in comparisons

  • Timestamp tests on state machine

    • Get Relevant Anim Time

    • Get Relevant Anim Time Fraction

    • Get Relevant Anim Time Remaining

    • Get Relevant Anim Time Remaining Fraction

  • Timestamp tests on asset player

    • Current Time

    • Current Time (ratio)

    • Time Remaining

    • Time Remaining (ratio)

Comparisons

  • Floating point comparisons: <, <=, =, !=, >=, >

  • Non-floating point comparisons (e.g. enums), unsupported

  • In Range node supported on float and integer types

Logical Ops Supported

  • And

  • Or

  • Xor

  • Not

Misc

  • Macros

  • Struct breaking (e.g. extracting a component from a vector)

Last updated

Was this helpful?