AnimancerNode Class

Summary

Base class for UnityEngine.Playables.Playable wrapper objects in an Animancer.AnimancerGraph.
Assembly
Animancer.dll
Namespace
Animancer
Interfaces
Base Types
Derived Types
graph BT Type-->Base0["AnimancerNodeBase"] click Base0 "/animancer/api/Animancer/AnimancerNodeBase" Base0-->Base1["Object"] Type-.->Interface0["ICopyable<AnimancerNode>"] Type-.->Interface1["IEnumerable<AnimancerState>"] Type-.->Interface2["IEnumerator"] Type-.->Interface3["IHasDescription"] click Interface3 "/animancer/api/Animancer/IHasDescription" Type["AnimancerNode"] class Type type-node Derived0["AnimancerLayer"]-->Type click Derived0 "/animancer/api/Animancer/AnimancerLayer" Derived1["AnimancerState"]-->Type click Derived1 "/animancer/api/Animancer/AnimancerState"

Syntax

public abstract class AnimancerNode : AnimancerNodeBase, ICopyable<AnimancerNode>, 
    IEnumerable<AnimancerState>, IEnumerator, IHasDescription

Remarks

This is the base class of Animancer.AnimancerLayer and Animancer.AnimancerState.

Constructors

Name Summary
AnimancerNode() Creates a new Animancer.AnimancerNode.

Properties

Name Value Summary
ApplyAnimatorIK bool
Should Unity call OnAnimatorIK on the animated object while this object and its children have any Animancer.AnimancerNode.Weight?
ApplyFootIK bool
Should this object and its children apply IK to the character's feet?
ApplyParentAnimatorIK bool
Should setting the Animancer.AnimancerNodeBase.Parent also set this node's Animancer.AnimancerNode.ApplyAnimatorIK to match it? Default is true.
static
ApplyParentFootIK bool
Should setting the Animancer.AnimancerNodeBase.Parent also set this node's Animancer.AnimancerNode.ApplyFootIK to match it? Default is true.
static
ChildCount int
The number of nodes using this as their Animancer.AnimancerNodeBase.Parent.
Inherited from AnimancerNodeBase
DebugName Object
[Assert-Only] The Inspector display name of this node.
EffectiveSpeed float
The Animancer.AnimancerNodeBase.Speed of this node multiplied by the Animancer.AnimancerNodeBase.Speed of each of its parents to determine the actual speed it's playing at.
Inherited from AnimancerNodeBase
EffectiveWeight float
The Animancer.AnimancerNode.Weight of this state multiplied by the Animancer.AnimancerNode.Weight of each of its parents down the hierarchy to determine how much this state affects the final output.
FadeGroup FadeGroup
The current fade being applied to this node (if any).
FadeSpeed float
The speed at which this node is fading towards the Animancer.AnimancerNode.TargetWeight.
Graph AnimancerGraph
The Animancer.AnimancerGraph containing this node.
Inherited from AnimancerNodeBase
Index int
The index of the port this node is connected to on the parent's UnityEngine.Playables.Playable.
KeepChildrenConnected bool
Should child playables stay connected to the graph at all times?
Inherited from AnimancerNodeBase
Layer AnimancerLayer
The root Animancer.AnimancerLayer which this node is connected to (if any).
Inherited from AnimancerNodeBase
Parent AnimancerNodeBase
The object which receives the output of the Animancer.AnimancerNodeBase.Playable.
Inherited from AnimancerNodeBase
Playable Playable
The internal object this node manages in the UnityEngine.Playables.PlayableGraph.
Inherited from AnimancerNodeBase
Speed float
[Pro-Only] How fast the Animancer.AnimancerState.Time is advancing every frame (default 1).
Inherited from AnimancerNodeBase
TargetWeight float
The desired Animancer.AnimancerNode.Weight which this node is fading towards according to the Animancer.AnimancerNode.FadeSpeed.
TraceConstructor bool
[Assert-Only] Should a System.Diagnostics.StackTrace be captured in the constructor of all new nodes so Animancer.OptionalWarning.UnusedNode can include it in the warning if that node ends up being unused?
static
Weight float
The current blend weight of this node which determines how much it affects the final output.

Methods

Name Value Summary
~AnimancerNode() void
[Assert-Only] Checks Animancer.OptionalWarning.UnusedNode.
AddContextMenuIK(GenericMenu, AnimancerNodeBase) void
[Editor-Only] Adds functions to show and set Animancer.AnimancerNodeBase.ApplyAnimatorIK and Animancer.AnimancerNodeBase.ApplyFootIK.
Inherited from AnimancerNodeBase
static
AppendDescription(StringBuilder, string) void
Appends a detailed descrption of the current details of this object.
AppendDetails(StringBuilder, string) void
Called by Animancer.AnimancerNode.AppendDescription(System.Text.StringBuilder,System.String) to append the details of this node.
AppendIKDetails(StringBuilder, string, AnimancerNodeBase) void
Appends the details of Animancer.AnimancerNodeBase.ApplyAnimatorIK and Animancer.AnimancerNodeBase.ApplyFootIK.
static
AssertConnectionStatus() void
[Assert-Only] Calls Animancer.AnimancerNode.GetConnectionStatusError and logs the result if it isn't null.
AssertConnectionStatusRecursive(AnimancerNodeBase) void
[Assert-Only] Calls Animancer.AnimancerNode.AssertConnectionStatus for the `node` and all of its children.
static
CancelFade() void
Removes this node from the Animancer.AnimancerNode.FadeGroup.
CopyFrom(AnimancerNode, CloneContext) void
Copies the details of `copyFrom` into this node, replacing its previous contents.
CopyIKFlags(AnimancerNodeBase) void
Copies the IK settings from `copyFrom` into this node:
  • If is true, copy .
  • If is true, copy .
CreatePlayable() void
Creates and assigns the UnityEngine.Playables.Playable managed by this node.
CreatePlayable(Playable) void
Creates and assigns the UnityEngine.Playables.Playable managed by this node.
DestroyPlayable() void
Destroys the UnityEngine.Playables.Playable.
DisconnectChildSafe(int) void
Disconnects the UnityEngine.Playables.Playable of the child at the specified `index` from this node.
GetChild(int) AnimancerState
Returns the state connected to the specified `index` as a child of this node.
GetConnectionStatusError() string
Returns null if this node is properly connected to its parent. Otherwise, returns an error message to be logged.
GetConstructorStackTrace(AnimancerNode) StackTrace
[Assert-Only] Returns the stack trace of the constructor (or null if Animancer.AnimancerNode.TraceConstructor was false).
static
GetEnumerator() FastEnumerator<AnimancerState>
Gets an enumerator for all of this node's child states.
GetPath() string
Returns the hierarchy path of this node through its Animancer.AnimancerNodeBase.Parents.
IsPlayingAndNotEnding() bool
Is this node playing and not yet at its end?
MarkAsUsed(AnimancerNodeBase) void
[Assert-Conditional] Prevents the `node` from causing Animancer.OptionalWarning.UnusedNode.
Inherited from AnimancerNodeBase
static
OnChildIsLoopingChanged(bool) void
Called when a child's Animancer.AnimancerState.IsLooping value changes.
Inherited from AnimancerNodeBase
RecreatePlayable() void
Calls Animancer.AnimancerNode.DestroyPlayable and Animancer.AnimancerNode.CreatePlayable.
RecreatePlayableRecursive() void
Calls Animancer.AnimancerNode.RecreatePlayable on this node and all its children recursively.
SetDebugName(Object) void
[Assert-Conditional] Sets the Animancer.AnimancerNode.DebugName to display in the Inspector.
SetWeight(float) void
Sets the current blend weight of this node which determines how much it affects the final output. 0 has no effect while 1 applies the full effect of this node.
StartFade(float) void
Calls Animancer.AnimancerNode.OnStartFade and starts fading the Animancer.AnimancerNode.Weight over the course of the Animancer.AnimancerGraph.DefaultFadeDuration (in seconds).
StartFade(float, float) void
Calls Animancer.AnimancerNode.OnStartFade and starts fading the Animancer.AnimancerNode.Weight over the course of the `fadeDuration` (in seconds).
Stop() void
Stops the animation and makes it inactive immediately so it no longer affects the output.
ToString() string
The Inspector display name of this node.

Extension Methods

Name Value Summary
CalculateEditorFadeDuration(float) float
[Animancer Extension] [Editor-Only] Returns the duration of the `node`s current fade (if any), otherwise returns the `defaultDuration`.
IsValid() bool
[Animancer Extension] Is the `node` is not null and its Animancer.AnimancerNodeBase.Playable valid?