Procedural Motion Component

The procedural motion component is the most basic building block used to make procedural animations, all other procedural motion components included in this plugin derive from this class.

It exposes two functions that allow you to manipulate the equipment bone procedurally, they are called Compute Output and Compute Outputs . It is important to note that only one of them should be overridden for each component.

Output

The procedural motion output consists off:

  • A custom transform applied to the bone selected in the Procedural Motion Anim Node.

  • The weight (alpha) to use when applying the custom transform.

  • The desired computation stage (explained bellow).

  • The desired transform space (just like Transform (Modify) Bone)

    • Component: Transform is applied relative to the component.

    • Bone: Transform is applied relative to the bone.

    • Parent Bone: Transform is applied relative to the parent bone.

  • The desired composition:

    • Additive: Adds to the current position.

    • Lerp to Target: Lerps the current position to the passed transform.

    • Custom: Can be overwritten via C++.

Computation Stages

Higher stages are evaluated later, meaning the procedural motion is computed after lower-stage components. Multiple components can share the same stage, but in some cases order still matters, for example, Offsets should be applied first, then ADS, and finally Sway—making Sway the most predominant of the three.

Usage

The included Animation Nodes automatically detect and compute procedural motion outputs from the actors listed in the SourceActors array within the provided procedural motion input. Each component can optionally be applied in First Person, Third Person, or both, depending on that component’s procedural motion settings.

Last updated