Animation Editor: Nodes – Arma Reforger
An animation node is a fundamental block of the animation engine. Each node has a single (and simple) purpose. By connecting these nodes to one big hierarchy, complex behaviour can be achieved. Usually the hierarchy is organised top to bottom, connecting parent nodes to child nodes.
Each node is displayed as a small rectangle, first line tells us the node type, second line contains node name. The name has to be unique, which is used as a reference when linking to it from other nodes. Naming is case sensitive.
Slots, which can be found at the bottom of some node types, serve to connect a node to any child node.
Animation Graph Evaluation
Imagine the evaluation as a process happening in two phases.
DOWN. Animator and character programmer agree on "master" (main, topmost) node. The animation graph evaluation starts at this node and continues to child nodes. Logic in animation nodes affects which child paths are evaluated and which are ignored. This way the evaluation traverses from topmost node to bottom of the graph.
UP. Once there are no valid child nodes where to continue the search, the evaluation returns back, carrying an animation pose as a result. This pose can be blended with other poses returned from different child paths or for example.
(SIMPLIFIED. Logic is evaluated from top to bottom, left to right. Results (animation poses) are passed to parent node until they reach the topmost node.)
Order of evaluation is important, because it affects values used in conditions and other expressions. For example, when using tags, remaining time or events in an expression, it must be checked after all child nodes are evaluated, otherwise these values are still unknown.
Time and Timing
One of the inputs of an animation node is a time. Time is for advancing animations, essentially - playing the animations. The node usually passes this time to linked child nodes, however, some node hold their own clock. There are two ways to measure time:
- Real time. Time as we know it, it advances forward.
- Normal time. Time used to synchronise animations. It scales between synchronization points, so multiple animations can be blended nicely.
Node Types
Common Properties
Property | Description |
---|---|
Node Name | Unique node name, case sensitive. |
Tags | User defined tags. Tags are returned together with resulting pose. Game code can read the returned tags and react to them. |
Child | Link to child node/multiple children |
Attachment
Attachment
Attachment node provides dynamic link to a different graph using different animation instance. The attachment is provided by the game and attachment node picks it by the binding name. Attachments can be inserted for debugging in the animation editor through Attachments Debug window. Attachment node translates the inputs (graph variables, commands...) into form accepted by attached graph which may influence the performance.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Binding | Binding name of the attachment. |
Blend
Blend
Used to blend between two child nodes. Blend node supports both "normal" and "additive" blending and required no further setup for that manner, since every animation track already contains information whether it is additive. Blending is immediate - based on a value or variables. Blending weight can change rapidly between frames, no time-based blending is done.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
BlendWeight | Blending weight (0 - 1). |
Child0 | First child, having 100% influence when blending weight is 0. |
Child1 | Second child, having 100% influence when blending weight is 1. |
BlendFn | Blend weight shaping (linear, s-curve, etc.). |
MotionVectors | Option specifying where to accept root motion from. 'Both' blends root motion vectors from both children. |
IkTargets | Behavior of IK targets blending |
Optimization | Optimization may turn off evaluation of child nodes which have 0% influence. |
SelectMainPath | When enabled, only the path with weight over 0.5 is marked as a main path. |
Blend N
Blend node N allows mixing results from multiple child nodes, each child node corresponds to one threshold value. Can be useful for example when blending between different directions of walking animations (0-360). Blending is immediate - based on a value or variables. Blending weight can change rapidly between frames, no time-based blending is done.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
BlendWeight | Value which controls the blending between two surrounding thresholds. |
BlendFn | Blend weight shaping (linear, s-curve, etc.) |
Thresholds | Each child node corresponds to one threshold, thresholds must go from lower to higher values. |
Children | Links to child nodes. |
IsCyclic | Enable cyclic behavior (first threshold is identical to last, even with different values). Tick and add another Threshold at the end of Thresholds that corresponds to the first Input Link (for example, threshold would be -180,-90,0,90,180 when doing directional animations) |
SelectMainPath | When enabled, only the path with weight over 0.5 is marked as a main path. |
Blend T
Provides blending between two child nodes over time. When a condition is met, Blend T starts blending towards the other child node over time.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
BlendTime | Full blending time in seconds. |
BlendFn | Blend weight shaping (linear, s-curve, etc.). |
TriggerOn | Condition to start blending into secondary branch (if filled in, 'Condition' is ignored). |
TriggerOff | Condition to start blending back into primary branch (if filled in, 'Condition' is ignored). |
Condition | Condition to switch between primary and secondary branch. |
Child0 | Primary child node |
Child1 | Secondary child node |
Optimization | Select when to evaluate child nodes. |
SelectMainPath | When enabled, only the path with weight over 0.5 is marked as a main path. |
PostEval | If post-eval is checked, triggers or condition are evaluated after child nodes. |
IkTargets | Behavior of IK targets blending |
Blend T Add
Similarly to Blend T, this node provides blending over time, primary path always keeps playing as a main path. Useful for additive blending.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
BlendTime | Full blending time in seconds. |
BlendFn | Blend weight shaping (linear, s-curve, etc.). |
TriggerOn | Condition to start blending into secondary branch (if filled in, 'Condition' is ignored). |
TriggerOff | Condition to start blending out of secondary branch (if filled in, 'Condition' is ignored). |
Condition | Condition to switch between primary and secondary branch. |
Child0 | Primary child node |
Child1 | Secondary child node |
AdditiveAlways | When enabled, secondary child node is always evaluated regarless its current weight. |
Blend TW
Time dependent blend between two child nodes. Unlike BlendT which utilizes thresholds, Blend TW blends towards target value.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
TargetWeight | Target blending value, reached over time. |
BlendTime | Time to reach target weight = 1 all the way from 0. |
BlendFn | Blend weight shaping (linear, s-curve, etc.). |
BlendTimeFn | Shaping of difference between target and current weight |
Child0 | First child, having 100% influence when blending weight is 0. |
Child1 | Second child, having 100% influence when blending weight is 1. |
Optimization | Optimization may turn off evaluation of child nodes which have 0% influence. |
SelectMainPath | When enabled, only the path with weight over 0.5 is marked as a main path. |
IkTargets | Behavior of IK targets blending |
OptimizeMin | When set to true and blending weight is zero, second child node is not evaluated |
OptimizeMax | When set to true and blending weight is one, first child node is not evaluated |
Queue
Supports enqueuing and playing secondary child nodes and blending them with primary path. This can be used for both additive and full body animations, where the full body will override the main link, and the additive animation will play on top of the main link.
Property | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||||||||||||||||||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||||||||||||||||||||||
Child | Primary child node, always evaluated regardless queued actions. | ||||||||||||||||||||||||||
QueueItems | List of queue items which can be played as secondary actions.
| ||||||||||||||||||||||||||
IkTargets | Behavior of IK targets blending |
Switch
Plays child nodes and switches to next one randomly, once they finish playing.
Property | Description | ||||||
---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||
BlendTime | Transition time between child nodes. | ||||||
FirstProbabilities | List of numbers separated by commas or spaces, representing probability per node. | ||||||
SwitchItems | List of child nodes and their probability tables.
|
Buffer
Buffer Save
Saves contents of current pose buffer in the node to named temporary storage.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node |
BufferName | Storage name |
BoneMask | Inclusive mask restricting saved bones. If no mask is selected, all bones are saved. |
Buffer Use
Restore previously saved pose buffer from temporary storage.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
BufferName | Storage name |
BoneMask | Inclusive mask restricting restored bones. If no mask is selected, all bones are used. |
Filter
Filter current pose buffer by bone mask.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node |
BoneMask | Inclusive mask restricting bones kept in the pose buffer. If no mask is selected, all bones are kept. |
Condition | Expression enabling this filter |
Ctx
Ctx Begin
Ctx Begin and Ctx End surround branched block of the graph, protecting subgraph below Ctx End against losing its state during branch switches the state of subgraph is bypassed and safely stored in Ctx Begin. Traversing through Ctx End is allowed only for the first branch which reaches it, other branches inside the block receive cached result.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node. First node in the branched block. |
Ctx End
Ctx Begin and Ctx End surround branched block of the graph, protecting subgraph below Ctx End against losing its state during branch switches the state of subgraph is bypassed and safely stored in Ctx Begin. Traversing through Ctx End is allowed only for the first branch which reaches it, other branches inside the block receive cached result.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node. Subgraph below the branched block of the graph. |
Event
Event
Fires animation events when the node is activated or condition is fulfilled. This is useful when we need to signal other parts of engine or game code that a branch in animation graph became active (for example, audio engine can react to stance changes).
Property | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||||||||||||||||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||||||||||||||||||||
Child | Link to child node. | ||||||||||||||||||||||||
Events | List of events and their conditions
|
Function
Function Begin
Function Begin and Function end surround graph block which can be called (reused) on multiple other places.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node. First node inside the function block. |
EndsCount | Number of function end points (FunctionEnd nodes) |
Function Call
Redirects evaluation into a function - a block of nodes starting with Function Begin. After the evaluation inside the block reaches any Function End, evaluation resumes at this place.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Method | Function name (Function Begin node name) |
Child0 | No description |
Child1 | No description |
Child2 | No description |
Child3 | No description |
Child4 | No description |
Child5 | No description |
Child6 | No description |
Child7 | No description |
Function End
Function Begin and Function end surround graph block which can be called (reused) on multiple other places.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
EndIndex | Index of a following child node at call site. |
Group Select
Group Select
Selects an active column in anim set group. Animation and constants identifiers may then omit column name because it is selected by this node. Example: Group select node selects column "Erc" in group "Locomotion". Source node below refers to animation "Locomotion.Walk" but active column is filled in, resulting in unique animation identifier "Locomotion.Erc.Walk".
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node |
Group | Anim set group containing the column |
Column | Anim set column within the group to be selected |
IK
IK2
Node which applies inverse kinematics on a chain of bones to reach a specific target.
Property | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||||||||||||||||||||||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||||||||||||||||||||||||||
Child | Link to child node | ||||||||||||||||||||||||||||||
Weight | Weight (0-1). When zero, no IK is applied, when one, IK is fully applied. | ||||||||||||||||||||||||||||||
Chains | List of chains and their IK targets.
| ||||||||||||||||||||||||||||||
Solver | Select an instance of IK solver to run.
|
IK2 Plane
Computes inverse kinematics on a chain to reach target plane. Target planes are set by application (character/gameplay programmers).
Property | Description | ||||||
---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||
Child | Link to child node | ||||||
Weight | Weight (0-1). When zero, no IK is applied, when one, IK is fully applied. | ||||||
Chains | List of chains and their IK plane targets.
| ||||||
ActiveDistance | Thresholding distance [m]. If the end effector is further, no IK is applied even when weight is one. In meters. | ||||||
ThresholdSmoothness | Smoothing region [m] to turn on IK continuously. | ||||||
SnapRotation | Snap the rotation of end effector to be the same as ik target rotation. | ||||||
CustomNormal | When zero, IK2 Plane pushes the end effector along the normal of plane.
In some situations it may be feasible to move it in a custom direction, for example pushing up when correcting feet by IK. |
IK2 Target
Creates an ik target from model-space position of a bone or end effector of a chain.
Property | Description | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||||||||||||||||||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||||||||||||||||||||||
Child | Link to child node | ||||||||||||||||||||||||||
Chains | List of ik targets to be created and assigned transform from specified chains. Additional offsets might be applied.
| ||||||||||||||||||||||||||
ModelSpaceOffset | Offset applied to chain in model space (unaffected by parent transforms)
| ||||||||||||||||||||||||||
Bones | List of ik targets to be be created and assigned transform from specified model-space transforms of bones.
|
IK Lock
Animation node locking the ik target in place and applying two-bone IK solver.
Property | Description | ||||||
---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||
Child | Link to child node | ||||||
IsLocked | Expression enabling the lock. | ||||||
BlendinTime | Blend time for IK to fully take over. | ||||||
BlendoutTime | Blend time for IK to be fully released. | ||||||
SnapRotation | Snap the rotation of end effector to be the same as ik target rotation. | ||||||
World | Name of world transform delta passed by the game. This can be used to lock targets onto moving ground, for example. | ||||||
Chains | List of IK targets and affected chains
|
IK Rotation
Animation node applying inverse kinematics to reach target rotation, local translations are untouched. When enabled, rotation of end-effector is identical to IK target, parent bones receive a fraction of the rotation. Useful for spine inverse kinematics instead of counter-animating hip rotations.
Property | Description | ||||||
---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||
Child | Link to child node | ||||||
Weight | Weight (0 - 1). When zero, no rotation changes are applied, when one, rotations are fully applied. | ||||||
Chains | List of IK targets and affected chains
|
RBF
No description
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | No description |
Rbf | No description |
Weapon IK
Specialized node positioning arms according to aim direction and applying 2-joint ik on arms to snap to weapon. Algorithm: Compares current weapon direction with desired direction. Rotate weapon to correct direction. Snaps primary and secondary chain (arms) onto weapon.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node |
IkconfigName | Name of the Weapon IK configuration |
Ikconfig | Configuration. Exposes IK pose channels to solver. Defines primary and secondary chain and their orientation. |
BlendInTime | Blending time to fully enable 'Aim On', 'Prim On' and 'Sec On'. |
BlendOutTime | Blending time to fully disable 'Aim On', 'Prim On' and 'Sec On'. |
WeightAim | Enable aiming correction. |
WeightPrimaryChain | Enable IK on primary chain (right arm). |
WeightSecondaryChain | Enable IK on secondary chain (left arm). |
WeaponDirLr | Horizontal weapon aiming angle, used when Aim On=1 |
WeaponDirUd | Vertical weapon aiming angle, used when Aim On=1 |
WeaponRoll | Weapon roll, used when Aim On=1 |
WeaponTransX | Additional weapon translation in model-space X direction |
WeaponTransY | Additional weapon translation in model-space Y direction |
WeaponTransZ | Additional weapon translation in model-space Z direction |
Memory
Memory
Allows to save several bones into the local memory and fill them in on later frames if they are not present in pose buffer anymore.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
BoneMask | Bone mask with a list of remembered bones |
Child | Link to child node |
Procedural
Constraint
No description
Property | Description | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||||||||||||||||||||||||||||||||||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||||||||||||||||||||||||||||||||||||||
Child | Link to child node | ||||||||||||||||||||||||||||||||||||||||||
Weight | Weight of the applied constraint | ||||||||||||||||||||||||||||||||||||||||||
Constraint | Select a constraint to be applied
|
Procedural
AnimNodeProcTransform applies procedural transform on a set of joints or IK targets through entered expressions.
Property | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||||||||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||||||||||||
Child | Link to child node | ||||||||||||||||
Expression | Applied amount multiplier. | ||||||||||||||||
Bones | List of operations on bones
| ||||||||||||||||
IkTargets | List of operations on IK targets
|
Sleep
Sleep
Sleep node can turn off evaluation of all its child nodes and return empty result instead, drastically saving performance. The node goes to sleep after its awake condition is not fulfilled during entire timeout period. In an ideal case, it should be used as a starting node - when sleeping, many processes inside graph evaluation are skipped early.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node |
AwakeExpr | When false, node goes to sleep mode after a timeout, effectively turning off child nodes. |
Timeout | Timeout before going to sleep mode. Awake expression resets the timeout. |
Source
Bind Pose
Sample bind pose of the animated mesh.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
BoneMask | Inclusive bone mask restricts which bones are sampled. If no mask is specified, all bones are sampled. |
Pose
Sample a pose from an animation. Unlike Source node, Pose node does not play the animation, sampled frame is computed from an expression. Pose node blends between two closest frames when the variable value falls between them. Example usage: steering in a vehicle, having all steering poses in one animation and using a variable to select a pose to be played
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Source | Animation source id in format Group.Column.Animation or Group.Animation when relying on Group Select nodes. |
Time | Normalized sampling time (0 - 1) |
Pose 2
Samples a pose from an animation based on control expressions and 2D table. Similar to plain Pose node, but it works in two-dimensional space. Example usage: Aim Spaces and Look Animations - mapping horizontal and vertical direction to a pose.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Source | Animation source id in format Group.Column.Animation or Group.Animation when relying on Group Select nodes. |
ValueX | Expression for the X coordinate |
ValueY | Expression for the Y coordinate |
Table | Table remapping X and Y coord to frames |
Source
Plays an animation from anim set. Playback can be looped.
Property | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||||||||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||||||||||||
Source | Animation source id in format Group.Column.Animation or Group.Animation when relying on Group Select nodes. | ||||||||||||||||
Looptype | Enables looped playback. | ||||||||||||||||
Interpolate | When enabled, keyframes are interpolated during playback. | ||||||||||||||||
Predictions | List of sampled predictions (future bone transforms in the animation)
| ||||||||||||||||
BonesInterpolatedInModelSpace | List of bones interpolated in model-space, which be required to prevent stutters caused by inheriting all interpolations in hierarchy. | ||||||||||||||||
ReportDistance | Using root motion channel, report sample distance travelled until end of cycle (when looped) or animation (when unlooped). |
Source InLoopOut
Plays an animation from anim set. The animation is divided by events into three segments: intro, loop, outro. Playback leaves the looped region only a condition is fulfilled.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Source | Animation source id in format Group.Column.Animation or Group.Animation when relying on Group Select nodes. |
InEvent | Name of event marking the end of intro and start of looped region. |
OutEvent | Name of event marking the end of looped region and start of outro. |
EndExpression | If the expression results in true, further looping is disabled, allowing playback to reach the end. |
Source Sync
Plays an animation from anim set using normalized time. Playback can be looped.
Property | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||||||||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||||||||||||
Source | Animation source id in format Group.Column.Animation or Group.Animation when relying on Group Select nodes. | ||||||||||||||||
Looptype | Enables looped playback. | ||||||||||||||||
Predictions | List of sampled predictions (future bone transforms in the animation)
| ||||||||||||||||
SyncLine | Name of sync line which maps normalized time to events in the animation. | ||||||||||||||||
ReportDistance | Using root motion channel, report sample distance travelled until end of cycle (when looped) or animation (when unlooped). |
State Machine
State
Represents one state inside state machine node, serves as a bridge from state machine to other nodes. State node cannot exist on its own.
Property | Description |
---|---|
Child | Link to child node |
StartCondition | Evaluated on state machine initialization, first state returning true becomes active |
TimeStorage | By default, time is 'inherited' from parent nodes. Change if you want to measure time locally. |
IsExit | Enable to pass remaining time from child node to parent of state machine. Disable to mask out the remaining time. |
PassThrough | State machine will try to leave this state even if it was just entered. Child nodes are still evaluated. Pass-through is ignored in post-eval. |
State Machine
State machines contain multiple state nodes and transitions between them. One of the states is marked 'active'. On every frame, state machine evaluates transitions leading from the active state and if their condition is fulfilled, target state of the transition becomes the new 'active' state. Previous state keeps playing for a short 'blend-out' time, if specified by transition.
Property | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
States | List of state nodes inside state machine.
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Transitions | List of transitions inside state machine.
|
Tag
Tag
Adds a tag to animation output. The node can also temporarily add tags just for child nodes.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node |
ChildTags | List of tags passed to the child nodes but not to the parent nodes. |
Time
Time Save
Anim graph node saving time into stash.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node |
TimeName | Storage name |
Time Scale
AnimNodeTimeScale scales the input time, effectively slowing down or speeding up animations in the subtree below.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node |
TimeExpr | Multiplier remapping time. For example, 2.0 will cause the subtree to run twice as fast. |
TimeStorage | By default, time is 'inherited' from parent nodes. Change if you want to measure time locally. |
TimeMappingTable | When filled in, result from TimeExpr is remapped through this table to new actual value of the multiplier. |
Time Use
Anim graph node restoring time from stash.
Property | Description |
---|---|
Tags | Tags set to animation output. |
NodeGroup | Name of parent node group, visual and logical aid. |
Child | Link to child node |
TimeName | Storage name |
TimeType | Specify type of restored time - either real or normalized. |
Variables
Var Reset
Anim Node Var Set - sets variable values when defined conditions are met
Property | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||||||
Child | Link to child node | ||||||||||
VarReset | List of variables to be reset to original game input
|
Var Set
Sets new value to variables when conditions are met. Changes apply only to child nodes.
Property | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||||||||||||||||||||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||||||||||||||||||||||||
Child | Link to child node | ||||||||||||||||||||||||||||
VarSet | List of variables to be set to new value. Value is restored once returning to parent node.
|
Var Update
Limit control variable updates by conditions, limit change rate. Changes apply only to child nodes. Example Usage: Freeze movement direction variable when blending out from a branch.
Property | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tags | Tags set to animation output. | ||||||||||||||||||
NodeGroup | Name of parent node group, visual and logical aid. | ||||||||||||||||||
Child | Link to child node | ||||||||||||||||||
VarUpdate | List of variables with limited update rate. Limits apply only to child nodes.
|