Transitions

Transition Properties

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

A Transition

Supported properties

Transition Properties
  • warning 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

  • Cross Mark Blend Settings

    • warning 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)

  • Cross Mark Events

  • Cross Mark 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

  • Check Mark 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

  • Check Mark 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

  • Check Mark Timestamp tests on asset player

    • Current Time

    • Current Time (ratio)

    • Time Remaining

    • Time Remaining (ratio)

Comparisons

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

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

  • Check Mark In Range node supported on float and integer types

Logical Ops Supported

  • Check Mark And

  • Check Mark Or

  • Check Mark Xor

  • Check Mark Not

Misc

  • Check Mark Macros

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

Last updated

Was this helpful?