reckfellENGINE

AnimationNode

Base class for AnimationTree nodes. Not related to scene nodes.

On this page
class AnimationNodeReckfellSharpInherits Resource

Base class for AnimationTree nodes. Not related to scene nodes.

Base resource for AnimationTree nodes. In general, it's not used directly, but you can create custom ones with custom blending formulas. Inherit this when creating animation nodes mainly for use in AnimationNodeBlendTree, otherwise AnimationRootNode should be used instead. You can access the time information as read-only parameter which is processed and stored in the previous frame for all nodes except AnimationNodeOutput. Note: If multiple inputs exist in the AnimationNode, which time information takes precedence depends on the type of AnimationNode.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

AnimationNodeConstructor
# AnimationNode
C#
public AnimationNode();

Properties2

FilterEnabledProperty
# FilterEnabled
C#
public bool FilterEnabled { get; set; }

If true, filtering is enabled.

FiltersProperty
# Filters
C#
public Reckfell.Collections.Array Filters { get; set; }

Methods27

AddInputbool
# AddInput
C#
public bool AddInput(string name);

Adds an input to the animation node. This is only useful for animation nodes created for use in an AnimationNodeBlendTree. If the addition fails, returns false.

Parameters
NameTypeDefault
namestring—
Returns bool
BlendAnimationvoid
# BlendAnimation
C#
public void BlendAnimation(StringName animation, double time, double delta, bool seeked, bool isExternalSeeking, float blend, Animation.LoopedFlag loopedFlag = Animation.LoopedFlag.None);

Blends an animation by blend amount (name must be valid in the linked AnimationPlayer). A time and delta may be passed, as well as whether seeked happened. A looped_flag is used by internal processing immediately after the loop.

Parameters
NameTypeDefault
animationStringName—
timedouble—
deltadouble—
seekedbool—
isExternalSeekingbool—
blendfloat—
loopedFlagAnimation.LoopedFlagAnimation.LoopedFlag.None
BlendInput2 overloads
# BlendInput · 1/2
C#
public double BlendInput(int inputIndex, double time, bool seek, bool isExternalSeeking, float blend, AnimationNode.FilterAction filter, bool sync);

Blends an input. This is only useful for animation nodes created for an AnimationNodeBlendTree. The time parameter is a relative delta, unless seek is true, in which case it is absolute. A filter mode may be optionally passed.

Parameters
NameTypeDefault
inputIndexint—
timedouble—
seekbool—
isExternalSeekingbool—
blendfloat—
filterAnimationNode.FilterAction—
syncbool—
Returns double
# BlendInput · 2/2
C#
public double BlendInput(int inputIndex, double time, bool seek, bool isExternalSeeking, float blend, AnimationNode.FilterAction filter = AnimationNode.FilterAction.Ignore, bool sync = true, bool testOnly = false);

Blends an input. This is only useful for animation nodes created for an AnimationNodeBlendTree. The time parameter is a relative delta, unless seek is true, in which case it is absolute. A filter mode may be optionally passed.

Parameters
NameTypeDefault
inputIndexint—
timedouble—
seekbool—
isExternalSeekingbool—
blendfloat—
filterAnimationNode.FilterActionAnimationNode.FilterAction.Ignore
syncbooltrue
testOnlyboolfalse
Returns double
BlendNode2 overloads
# BlendNode · 1/2
C#
public double BlendNode(StringName name, AnimationNode node, double time, bool seek, bool isExternalSeeking, float blend, AnimationNode.FilterAction filter, bool sync);

Blend another animation node (in case this animation node contains child animation nodes). This function is only useful if you inherit from AnimationRootNode instead, otherwise editors will not display your animation node for addition.

Parameters
NameTypeDefault
nameStringName—
nodeAnimationNode—
timedouble—
seekbool—
isExternalSeekingbool—
blendfloat—
filterAnimationNode.FilterAction—
syncbool—
Returns double
# BlendNode · 2/2
C#
public double BlendNode(StringName name, AnimationNode node, double time, bool seek, bool isExternalSeeking, float blend, AnimationNode.FilterAction filter = AnimationNode.FilterAction.Ignore, bool sync = true, bool testOnly = false);

Blend another animation node (in case this animation node contains child animation nodes). This function is only useful if you inherit from AnimationRootNode instead, otherwise editors will not display your animation node for addition.

Parameters
NameTypeDefault
nameStringName—
nodeAnimationNode—
timedouble—
seekbool—
isExternalSeekingbool—
blendfloat—
filterAnimationNode.FilterActionAnimationNode.FilterAction.Ignore
syncbooltrue
testOnlyboolfalse
Returns double
FindInputint
# FindInput
C#
public int FindInput(string name);

Returns the input index which corresponds to name. If not found, returns -1.

Parameters
NameTypeDefault
namestring—
Returns int
GetInputCountint
# GetInputCount
C#
public int GetInputCount();

Amount of inputs in this animation node, only useful for animation nodes that go into AnimationNodeBlendTree.

Returns int
GetInputNamestring
# GetInputName
C#
public string GetInputName(int input);

Gets the name of an input by index.

Parameters
NameTypeDefault
inputint—
Returns string
GetParameterVariant
# GetParameter
C#
public Variant GetParameter(StringName name);

Gets the value of a parameter. Parameters are custom local memory used for your animation nodes, given a resource can be reused in multiple trees.

Parameters
NameTypeDefault
nameStringName—
Returns Variant
GetProcessingAnimationTreeInstanceIdulong
# GetProcessingAnimationTreeInstanceId
C#
public ulong GetProcessingAnimationTreeInstanceId();

Returns the object id of the AnimationTree that owns this node. Note: This method should only be called from within the AnimationNodeExtension._ProcessAnimationNode method, and will return an invalid id otherwise.

Returns ulong
IsFilterEnabledbool
# IsFilterEnabled
C#
public bool IsFilterEnabled();
Returns bool
IsPathFilteredbool
# IsPathFiltered
C#
public bool IsPathFiltered(EntityPath path);

Returns true if the given path is filtered.

Parameters
NameTypeDefault
pathEntityPath—
Returns bool
IsProcessTestingbool
# IsProcessTesting
C#
public bool IsProcessTesting();

Returns true if this animation node is being processed in test-only mode.

Returns bool
RemoveInputvoid
# RemoveInput
C#
public void RemoveInput(int index);

Removes an input, call this only when inactive.

Parameters
NameTypeDefault
indexint—
SetFilterEnabledvoid
# SetFilterEnabled
C#
public void SetFilterEnabled(bool enable);
Parameters
NameTypeDefault
enablebool—
SetFilterPathvoid
# SetFilterPath
C#
public void SetFilterPath(EntityPath path, bool enable);

Adds or removes a path for the filter.

Parameters
NameTypeDefault
pathEntityPath—
enablebool—
SetInputNamebool
# SetInputName
C#
public bool SetInputName(int input, string name);

Sets the name of the input at the given input index. If the setting fails, returns false.

Parameters
NameTypeDefault
inputint—
namestring—
Returns bool
SetParametervoid
# SetParameter
C#
public void SetParameter(StringName name, Variant value);

Sets a custom parameter. These are used as local memory, because resources can be reused across the tree or scenes.

Parameters
NameTypeDefault
nameStringName—
valueVariant—
_GetCaptionstring
# _GetCaption
C#
public virtual string _GetCaption();

When inheriting from AnimationRootNode, implement this virtual method to override the text caption for this animation node.

Returns string
_GetChildByNameAnimationNode
# _GetChildByName
C#
public virtual AnimationNode _GetChildByName(StringName name);

When inheriting from AnimationRootNode, implement this virtual method to return a child animation node by its name.

Parameters
NameTypeDefault
nameStringName—
Returns AnimationNode
_GetChildNodesReckfell.Collections.Dictionary
# _GetChildNodes
C#
public virtual Reckfell.Collections.Dictionary _GetChildNodes();

When inheriting from AnimationRootNode, implement this virtual method to return all child animation nodes in order as a name: node dictionary.

Returns Reckfell.Collections.Dictionary
_GetParameterDefaultValueVariant
# _GetParameterDefaultValue
C#
public virtual Variant _GetParameterDefaultValue(StringName parameter);

When inheriting from AnimationRootNode, implement this virtual method to return the default value of a parameter. Parameters are custom local memory used for your animation nodes, given a resource can be reused in multiple trees.

Parameters
NameTypeDefault
parameterStringName—
Returns Variant
_GetParameterListReckfell.Collections.Array
# _GetParameterList
C#
public virtual Reckfell.Collections.Array _GetParameterList();

When inheriting from AnimationRootNode, implement this virtual method to return a list of the properties on this animation node. Parameters are custom local memory used for your animation nodes, given a resource can be reused in multiple trees. Format is similar to ReckfellObject.GetPropertyList.

Returns Reckfell.Collections.Array
_HasFilterbool
# _HasFilter
C#
public virtual bool _HasFilter();

When inheriting from AnimationRootNode, implement this virtual method to return whether the blend tree editor should display filter editing on this animation node.

Returns bool
_IsParameterReadOnlybool
# _IsParameterReadOnly
C#
public virtual bool _IsParameterReadOnly(StringName parameter);

When inheriting from AnimationRootNode, implement this virtual method to return whether the parameter is read-only. Parameters are custom local memory used for your animation nodes, given a resource can be reused in multiple trees.

Parameters
NameTypeDefault
parameterStringName—
Returns bool
_Processdouble · Deprecated
# _Process
C#
public virtual double _Process(double time, bool seek, bool isExternalSeeking, bool testOnly);

When inheriting from AnimationRootNode, implement this virtual method to run some code when this animation node is processed. The time parameter is a relative delta, unless seek is true, in which case it is absolute. Here, call the AnimationNode.BlendInput, AnimationNode.BlendNode or AnimationNode.BlendAnimation functions. You can also use AnimationNode.GetParameter and AnimationNode.SetParameter to modify local memory. This function should return the delta.

Parameters
NameTypeDefault
timedouble—
seekbool—
isExternalSeekingbool—
testOnlybool—
Returns double

Signals and events4

AnimationEntityRemovedEvent
# AnimationEntityRemoved
C#
public event AnimationNode.AnimationEntityRemovedEventHandler AnimationEntityRemoved;

Emitted by nodes that inherit from this class and that have an internal tree when one of their animation nodes removes. The animation nodes that emit this signal are AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine, and AnimationNodeBlendTree.

Handler parameters
NameTypeDefault
objectIdlong—
nodeNamestring—
AnimationEntityRenamedEvent
# AnimationEntityRenamed
C#
public event AnimationNode.AnimationEntityRenamedEventHandler AnimationEntityRenamed;

Emitted by nodes that inherit from this class and that have an internal tree when one of their animation node names changes. The animation nodes that emit this signal are AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine, and AnimationNodeBlendTree.

Handler parameters
NameTypeDefault
objectIdlong—
oldNamestring—
newNamestring—
NodeUpdatedEvent
# NodeUpdated
C#
public event AnimationNode.NodeUpdatedEventHandler NodeUpdated;

Emitted by AnimationNodeAnimation when its AnimationNodeAnimation.Animation resource is changed, or by AnimationNodeBlendTree when its connections change.

Handler parameters
NameTypeDefault
objectIdlong—
TreeChangedEvent
# TreeChanged
C#
public event Action TreeChanged;

Emitted by nodes that inherit from this class and that have an internal tree when one of their animation nodes changes. The animation nodes that emit this signal are AnimationNodeBlendSpace1D, AnimationNodeBlendSpace2D, AnimationNodeStateMachine, AnimationNodeBlendTree and AnimationNodeTransition.

AnimationNode.FilterAction

ValueDescription
Blend = 3

Paths matching the filter will be blended (by the blend value).

Ignore = 0

Do not use filtering.

Pass = 1

Paths matching the filter will be allowed to pass.

Stop = 2

Paths matching the filter will be discarded.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.