Summary
[Pro-Only]
An
Animancer.AnimancerState
which blends an array of other states together
using linear interpolation between the specified thresholds.
- Assembly
- Animancer
.dll - Namespace
- Animancer
- Interfaces
- Base Types
-
- Object
- AnimancerNodeBase
- AnimancerNode
- AnimancerState
- ManualMixerState
- MixerState
<float>
graph BT
Type-->Base0["MixerState<float>"]
Base0-->Base1["ManualMixerState"]
click Base1 "/animancer/api/Animancer/ManualMixerState"
Base1-->Base2["AnimancerState"]
click Base2 "/animancer/api/Animancer/AnimancerState"
Base2-->Base3["AnimancerNode"]
click Base3 "/animancer/api/Animancer/AnimancerNode"
Base3-->Base4["AnimancerNodeBase"]
click Base4 "/animancer/api/Animancer/AnimancerNodeBase"
Base4-->Base5["Object"]
Type-.->Interface0["ICopyable<AnimancerNode>"]
Type-.->Interface1["IEnumerable<AnimancerState>"]
Type-.->Interface2["IEnumerator"]
Type-.->Interface3["IHasDescription"]
click Interface3 "/animancer/api/Animancer/IHasDescription"
Type-.->Interface4["IAnimationClipCollection"]
click Interface4 "/animancer/api/Animancer/IAnimationClipCollection"
Type-.->Interface5["ICloneable<AnimancerState>"]
Type-.->Interface6["ICopyable<AnimancerState>"]
Type-.->Interface7["ICopyable<ManualMixerState>"]
Type-.->Interface8["IParametizedState"]
click Interface8 "/animancer/api/Animancer/IParametizedState"
Type-.->Interface9["IUpdatable"]
click Interface9 "/animancer/api/Animancer/IUpdatable"
Type-.->Interface10["ICopyable<MixerState<float>>"]
Type-.->Interface11["ICopyable<LinearMixerState>"]
Type["LinearMixerState"]
class Type type-node
Syntax
public class LinearMixerState : MixerState<float>, ICopyable<AnimancerNode>,
IEnumerable<AnimancerState>, IEnumerator, IHasDescription, IAnimationClipCollection,
ICloneable<AnimancerState>, ICopyable<AnimancerState>, ICopyable<ManualMixerState>,
IParametizedState, IUpdatable, ICopyable<MixerState<float>>, ICopyable<LinearMixerState>
Remarks
This mixer type is similar to the 1D Blend Type in Mecanim Blend Trees.
Documentation:
Mixers
Properties
Name | Value | Summary |
---|---|---|
ApplyAnimatorIK | bool |
Inherited from ManualMixerState
|
ApplyFootIK | bool |
Inherited from ManualMixerState
|
Apply |
bool |
Should setting the
Animancer.AnimancerNodeBase.Parent
also set this node's Animancer.AnimancerNode.ApplyAnimatorIK to match it?
Default is true.
Inherited from AnimancerNode
static
|
ApplyParentFootIK | bool |
Should setting the
Animancer.AnimancerNodeBase.Parent
also set this node's Animancer.AnimancerNode.ApplyFootIK to match it?
Default is true.
Inherited from AnimancerNode
static
|
ChildCapacity | int |
The size of the internal array of
Animancer.ManualMixerState.ChildStates .Inherited from ManualMixerState
|
ChildCount | int |
The number of nodes using this as their
Animancer.AnimancerNodeBase.Parent .Inherited from ManualMixerState
|
ChildStates | AnimancerState[] |
The states connected to this mixer.
Inherited from ManualMixerState
|
Clip | AnimationClip |
The
UnityEngine.AnimationClip which this state plays (if any).Inherited from AnimancerState
|
DebugName | Object |
[Assert-Only] The Inspector display name of this node.
Inherited from AnimancerNode
|
DefaultChildCapacity | int |
Animancer.ManualMixerState.ChildCapacity starts at 0 then expands to this value when the first child is added.Inherited from ManualMixerState
static
|
Duration | float |
The number of seconds the animation will take to play fully at its current
Animancer.AnimancerNodeBase.EffectiveSpeed .
Inherited from AnimancerState
|
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.
Inherited from AnimancerNode
|
ExtrapolateSpeed | bool |
Should setting the
Animancer.MixerState`1.Parameter above the highest threshold
increase the Animancer.AnimancerNodeBase.Speed of this mixer proportionally?
|
FadeGroup | FadeGroup |
The current fade being applied to this node (if any).
Inherited from AnimancerNode
|
FadeSpeed | float |
The speed at which this node is fading towards the
Animancer.AnimancerNode.TargetWeight .Inherited from AnimancerNode
|
Graph | AnimancerGraph |
The
Animancer.AnimancerGraph containing this node.Inherited from AnimancerNodeBase
|
HasEvents | bool |
Have the
Animancer.AnimancerState.SharedEvents or Animancer.AnimancerState.OwnedEvents been initialized?Inherited from AnimancerState
|
HasOwnedEvents | bool |
Have the
Animancer.AnimancerState.OwnedEvents been initialized?Inherited from AnimancerState
|
Index | int |
The index of the port this node is connected to on the parent's
UnityEngine.Playables.Playable .Inherited from AnimancerNode
|
IsActive | bool |
Is this state currently updating or affecting the animation output?
Inherited from AnimancerState
|
IsCurrent | bool |
Is this state playing and not fading out?
Inherited from AnimancerState
|
IsLooping | bool |
Are any child states looping?
Inherited from ManualMixerState
|
IsPlaying | bool |
Is the
Animancer.AnimancerState.Time automatically advancing?Inherited from AnimancerState
|
IsStopped | bool |
Is this state not playing and at 0
Animancer.AnimancerNode.Weight ?Inherited from AnimancerState
|
Keep |
bool |
Should child playables stay connected to the graph at all times?
Inherited from AnimancerNodeBase
|
Key | Object |
The object used to identify this state in the graph
Animancer.AnimancerGraph.States dictionary.
Can be null.
Inherited from AnimancerState
|
Layer | AnimancerLayer |
The root
Animancer.AnimancerLayer which this node is connected to (if any).Inherited from AnimancerNodeBase
|
LayerIndex | int |
The index of the
Animancer.AnimancerLayer this state is connected to
(determined by the Animancer.AnimancerNodeBase.Parent ).
Inherited from AnimancerState
|
MainObject | Object |
The main object to show in the Inspector for this state (if any).
Inherited from AnimancerState
|
MainObjectType | Type |
[Editor-Only] The base type which can be assigned to the
Animancer.AnimancerState.MainObject .Inherited from AnimancerState
|
MaxThreshold | float |
The highest threshold (which is for the last child because they must be sorted).
|
Minimum |
float |
The minimum total weight of all children for their times to be synchronized. Default 0.01.
Inherited from ManualMixerState
static
|
MinThreshold | float |
The lowest threshold (which is for the first child because they must be sorted).
|
NormalizedEndTime | float |
The
Animancer.AnimancerState.NormalizedTime after which the
Animancer.AnimancerEvent.Sequence.OnEnd callback will be invoked every frame.
Inherited from AnimancerState
|
NormalizedParameter | float |
The
Animancer.MixerState`1.Parameter normalized into the range of 0 to 1 across all thresholds. |
NormalizedTime | float |
The
Animancer.AnimancerState.Time of this state as a portion of the animation's Animancer.AnimancerState.Length , meaning the
value goes from 0 to 1 as it plays from start to end, regardless of how long that actually takes.
Inherited from AnimancerState
|
NormalizedTimeD | double |
The underlying
double value of Animancer.AnimancerState.NormalizedTime .Inherited from AnimancerState
|
OwnedEvents | AnimancerEvent |
Events which will be triggered while this state plays
based on its
Animancer.AnimancerState.NormalizedTime .
Inherited from AnimancerState
|
Owner | Object |
[Assert-Only] An optional reference to the object that owns this state.
Inherited from AnimancerState
|
ParameterName | StringReference |
If set, this will be used as a key in the
Animancer.ParameterDictionary so any
changes to that parameter will automatically set the Animancer.MixerState`1.Parameter .
|
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
|
Raise |
bool |
Should events be raised on a state which is currently fading out?
Inherited from AnimancerState
static
|
RemainingDuration | float |
The number of seconds this state will take to go from its current
Animancer.AnimancerState.NormalizedTime to the
Animancer.AnimancerState.NormalizedEndTime at its current Animancer.AnimancerNodeBase.EffectiveSpeed .
Inherited from AnimancerState
|
SharedEvents | AnimancerEvent |
Events which will be triggered while this state plays
based on its
Animancer.AnimancerState.NormalizedTime .
Inherited from AnimancerState
|
Speed | float |
[Pro-Only] How fast the
Animancer.AnimancerState.Time is advancing every frame (default 1).Inherited from AnimancerNodeBase
|
Synchronized |
int |
The number of
Animancer.ManualMixerState.SynchronizedChildren .Inherited from ManualMixerState
|
SynchronizedChildren | AnimancerState[] |
A copy of the internal list of child states that will have their times synchronized.
Inherited from ManualMixerState
|
Synchronize |
bool |
Should newly added children be automatically added to the synchronization list? Default true.
Inherited from ManualMixerState
static
|
TargetWeight | float |
The desired
Animancer.AnimancerNode.Weight which this node is fading towards according to the
Animancer.AnimancerNode.FadeSpeed .
Inherited from AnimancerNode
|
Time | float |
The number of seconds that have passed since the start of this animation.
Inherited from AnimancerState
|
TimeD | double |
The underlying
double value of Animancer.AnimancerState.Time .Inherited from AnimancerState
|
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?
Inherited from AnimancerNode
static
|
UpdatableIndex | int |
The index of this object in its
Animancer.IndexedList`2 .Inherited from ManualMixerState
|
Weight | float |
The current blend weight of this node which determines how much it affects the final output.
Inherited from AnimancerNode
|
Methods
Name | Value | Summary |
---|---|---|
~AnimancerNode |
void |
[Assert-Only] Checks
Animancer.OptionalWarning.UnusedNode .Inherited from AnimancerNode
|
Add |
void |
Assigns the `state` as a child of this mixer.
Inherited from ManualMixerState
|
Add |
ClipState |
Creates and returns a new
Animancer.ClipState to play the `clip` as a child of this mixer.Inherited from ManualMixerState
|
Add |
AnimancerState |
Calls
Animancer.AnimancerUtilities.CreateStateAndApply(Animancer.ITransition,Animancer.AnimancerGraph) then Animancer.ManualMixerState.Add(Animancer.AnimancerState) .Inherited from ManualMixerState
|
Add |
AnimancerState |
Calls one of the other
Animancer.ManualMixerState.Add(System.Object) overloads as appropriate for the `child`.Inherited from ManualMixerState
|
AddContextMenuIK |
void |
[Editor-Only]
Adds functions to show and set
Animancer.AnimancerNodeBase.ApplyAnimatorIK and
Animancer.AnimancerNodeBase.ApplyFootIK .
Inherited from AnimancerNodeBase
static
|
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(UnityEngine.AnimationClip) for each of the `clips`.Inherited from ManualMixerState
|
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(UnityEngine.AnimationClip) for each of the `clips`.Inherited from ManualMixerState
|
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(Animancer.ITransition) for each of the `transitions`.Inherited from ManualMixerState
|
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(System.Object) for each of the `children`.Inherited from ManualMixerState
|
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(Animancer.ITransition) for each of the `transitions`.Inherited from ManualMixerState
|
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(System.Object) for each of the `children`.Inherited from ManualMixerState
|
AppendDescription |
void |
Appends a detailed descrption of the current details of this object.
Inherited from AnimancerNode
|
AppendDetails |
void | |
AppendIKDetails |
void |
Appends the details of
Animancer.AnimancerNodeBase.ApplyAnimatorIK and
Animancer.AnimancerNodeBase.ApplyFootIK .
Inherited from AnimancerNode
static
|
Assert |
void |
[Assert-Only]
Calls
Animancer.AnimancerNode.GetConnectionStatusError and logs the result if it isn't null .
Inherited from AnimancerNode
|
Assert |
void |
[Assert-Only] Calls
Animancer.AnimancerNode.AssertConnectionStatus for the `node` and all of its children.Inherited from AnimancerNode
static
|
AssertOwnership |
void |
[Assert-Conditional]
Sets the
Animancer.AnimancerState.Owner and asserts that it wasn't already set to a different object.
Inherited from AnimancerState
|
Assert |
void |
Throws an
System.ArgumentException if the thresholds are not sorted from lowest to highest without
any duplicates.
|
Assign |
LinearMixerState |
Assigns the thresholds to be evenly spaced between the specified min and max (inclusive).
|
Calculate |
float |
The multiplied
UnityEngine.Playables.PlayableExtensions.GetSpeed``1(``0) of this mixer and its parents down the
hierarchy to determine the actual speed its output is being played at.
Inherited from ManualMixerState
|
CalculateTotalWeight |
float |
Calculates the sum of the
Animancer.AnimancerNode.Weight of all `states`.Inherited from ManualMixerState
static
|
CancelFade |
void |
Removes this node from the
Animancer.AnimancerNode.FadeGroup .Inherited from AnimancerNode
|
ChangeMainObject |
bool |
Sets the `currentObject` and calls
Animancer.AnimancerNode.RecreatePlayable .
If the `currentObject` was being used as the Animancer.AnimancerState.Key then it is changed as well.
Inherited from AnimancerState
|
Clone |
AnimancerState | |
CopyFrom |
void |
Copies the details of `copyFrom` into this node, replacing its previous contents.
Inherited from AnimancerState
|
CopyFrom |
void |
Copies the contents of `copyFrom` into this object, replacing its previous contents.
Inherited from ManualMixerState
|
CopyFrom |
void |
Copies the contents of `copyFrom` into this object, replacing its previous contents.
|
CopyFrom |
void |
Copies the contents of `copyFrom` into this object, replacing its previous contents.
|
CopyIKFlags |
void |
Copies the IK settings from `copyFrom` into this node:
Inherited from AnimancerNode
|
CreatePlayable |
void |
Creates and assigns the
UnityEngine.Playables.Playable managed by this state.Inherited from AnimancerState
|
CreatePlayable |
Animation |
Creates an
UnityEngine.Animations.AnimationScriptPlayable to run the specified Animation Job instead of the usual
UnityEngine.Animations.AnimationMixerPlayable .
Inherited from ManualMixerState
|
CreatePlayable |
void |
Creates an
UnityEngine.Animations.AnimationScriptPlayable to run the specified Animation Job instead of the usual
UnityEngine.Animations.AnimationMixerPlayable .
Inherited from ManualMixerState
|
Destroy |
void | |
DestroyChildren |
void |
Destroys all
Animancer.ManualMixerState.ChildStates connected to this mixer. This operation cannot be undone.
Inherited from ManualMixerState
|
DestroyPlayable |
void |
Destroys the
UnityEngine.Playables.Playable .Inherited from AnimancerNode
|
Disable |
void |
Sets the weight of all states after the `previousIndex` to 0.
Inherited from ManualMixerState
|
DisconnectChildSafe |
void |
Disconnects the
UnityEngine.Playables.Playable of the child at the specified `index` from this node.Inherited from AnimancerNode
|
DontSynchronize |
void |
Removes the `state` from the
Animancer.ManualMixerState.SynchronizedChildren .Inherited from ManualMixerState
|
Dont |
void |
Removes all children of this mixer from the
Animancer.ManualMixerState.SynchronizedChildren .Inherited from ManualMixerState
|
Ensure |
void |
Ensures that the remaining unused
Animancer.ManualMixerState.ChildCapacity
is greater than or equal to the specified `minimumCapacity`.
Inherited from ManualMixerState
|
Events |
AnimancerEvent |
If the
Animancer.AnimancerState.OwnedEvents haven't been initialized yet,
this method gets them and returns true .
Inherited from AnimancerState
|
Events |
bool |
If the
Animancer.AnimancerState.OwnedEvents haven't been initialized yet,
this method gets them and returns true .
Inherited from AnimancerState
|
Force |
void |
Recalculates the weights of all child states based on the current value of the
Animancer.MixerState`1.Parameter and the thresholds.
|
GatherAnimationClips |
void |
[
Animancer.IAnimationClipCollection ] Gathers all the animations in this state.Inherited from ManualMixerState
|
GetChild |
AnimancerState |
Returns the state connected to the specified `index` as a child of this node.
Inherited from ManualMixerState
|
Get |
string |
Returns
null if this node is properly connected to its parent.
Otherwise, returns an error message to be logged.
Inherited from AnimancerState
|
Get |
StackTrace |
[Assert-Only]
Returns the stack trace of the constructor (or null if
Animancer.AnimancerNode.TraceConstructor was false).
Inherited from AnimancerNode
static
|
GetEnumerator |
FastEnumerator |
Gets an enumerator for all of this node's child states.
Inherited from ManualMixerState
|
GetEventDispatchInfo |
void |
Gets the details used to trigger
Animancer.AnimancerEvent s on this state:
Animancer.AnimancerState.Length , Animancer.AnimancerState.NormalizedTime , and Animancer.AnimancerState.IsLooping .
Inherited from ManualMixerState
|
GetJobData |
T |
Gets the Animation Job data from the
UnityEngine.Animations.AnimationScriptPlayable .
Inherited from ManualMixerState
|
GetParameterError |
string |
Returns an error message if the given `parameter` value can't be assigned to the
Animancer.MixerState`1.Parameter .
Otherwise returns null.
|
GetParameters |
void |
Gets the details of all parameters in this state.
|
GetParentMixer |
ManualMixerState |
Returns the highest
Animancer.ManualMixerState in the hierarchy above this mixer
or this mixer itself if there are none above it.
Inherited from ManualMixerState
|
GetParentMixer |
ManualMixerState |
Returns the highest
Animancer.ManualMixerState in the hierarchy above the `state` (inclusive).Inherited from ManualMixerState
static
|
GetPath |
string |
Returns the hierarchy path of this node through its
Animancer.AnimancerNodeBase.Parent s.Inherited from AnimancerNode
|
Get |
float[] |
Returns an array at least as large as the `count`.
Inherited from ManualMixerState
static
|
IndexOf |
int |
Returns the index of the specified `child` state.
Inherited from ManualMixerState
|
Initialize |
void |
Initializes the internal
Animancer.ManualMixerState.SynchronizedChildren list.Inherited from ManualMixerState
|
IsChildOf |
bool |
Is the `child` a child of the `parent`?
Inherited from ManualMixerState
static
|
Is |
bool |
Returns true if the animation is playing and has not yet passed the
Animancer.AnimancerEvent.Sequence.EndEvent .
Inherited from AnimancerState
|
IsSynchronized |
bool |
Is the `state` in the
Animancer.ManualMixerState.SynchronizedChildren ?Inherited from ManualMixerState
|
MarkAsUsed |
void |
[Assert-Conditional] Prevents the `node` from causing
Animancer.OptionalWarning.UnusedNode .Inherited from AnimancerNodeBase
static
|
MoveTime |
void |
Sets the
Animancer.AnimancerState.Time or Animancer.AnimancerState.NormalizedTime , but unlike those properties
this method doesn't skip Events or Root Motion between the old and new time.
Inherited from ManualMixerState
|
MoveTime |
void |
Sets the
Animancer.AnimancerState.Time or Animancer.AnimancerState.NormalizedTime , but unlike those properties
this method doesn't skip Events or Root Motion between the old and new time.
Inherited from AnimancerState
|
Normalize |
void |
Divides `weights` by the `totalWeight` and applies them to the child states.
Inherited from ManualMixerState
|
NormalizeDurations |
void |
Recalculates the
Animancer.AnimancerState.Duration of all child states so that they add up to 1.
Inherited from ManualMixerState
|
On |
void |
Called when a child's
Animancer.AnimancerState.IsLooping value changes.Inherited from ManualMixerState
|
OnThresholdsChanged |
void |
Called whenever the thresholds are changed. Indicates that
Animancer.LinearMixerState.AssertThresholdsSorted needs to
be called by the next Animancer.LinearMixerState.ForceRecalculateWeights if UNITY_ASSERTIONS is defined, then
calls Animancer.MixerState`1.OnThresholdsChanged .
|
Play |
void |
Plays this state immediately, without any blending and without affecting any other states.
Inherited from AnimancerState
|
Recreate |
void |
Calls
Animancer.AnimancerNode.RecreatePlayable on this node and all its children recursively.Inherited from AnimancerNode
|
Remove |
void |
Removes the specified `child`.
Inherited from ManualMixerState
|
Remove |
void |
Removes the child at the specified `index`.
Inherited from ManualMixerState
|
Set |
void |
Replaces the `child` at the specified `index`.
Inherited from ManualMixerState
|
Set |
ClipState |
Replaces the child at the specified `index` with a new
Animancer.ClipState .Inherited from ManualMixerState
|
Set |
AnimancerState |
Replaces the child at the specified `index` with a
Animancer.ITransition.CreateState .Inherited from ManualMixerState
|
Set |
AnimancerState |
Calls one of the other
Animancer.ManualMixerState.Set(System.Int32,System.Object,System.Boolean) overloads as appropriate for the `child`.Inherited from ManualMixerState
|
SetChildrenTime |
void |
Sets
Animancer.AnimancerState.Time for all Animancer.ManualMixerState.ChildStates .
Inherited from ManualMixerState
|
SetDebugName |
void |
[Assert-Conditional] Sets the
Animancer.AnimancerNode.DebugName to display in the Inspector.Inherited from AnimancerNode
|
SetExpectFade |
void |
[Internal] Sets a flag for
Animancer.OptionalWarning.ExpectFade .Inherited from AnimancerState
static
|
SetGraph |
void | |
SetJobData |
void |
Sets the Animation Job data in the
UnityEngine.Animations.AnimationScriptPlayable .
Inherited from ManualMixerState
|
SetParameters |
void |
Sets the details of all parameters in this state.
|
SetParent |
void |
Connects this state to the `parent` at its next available child index.
Inherited from AnimancerState
|
SetWeight |
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.
Inherited from AnimancerState
|
StartFade |
void |
Calls
Animancer.AnimancerNode.OnStartFade and starts fading the Animancer.AnimancerNode.Weight over the course
of the Animancer.AnimancerGraph.DefaultFadeDuration (in seconds).
Inherited from AnimancerNode
|
StartFade |
void |
Calls
Animancer.AnimancerNode.OnStartFade and starts fading the Animancer.AnimancerNode.Weight
over the course of the `fadeDuration` (in seconds).
Inherited from AnimancerNode
|
Stop |
void |
Stops the animation and makes it inactive immediately so it no longer affects the output.
Inherited from AnimancerNode
|
Synchronize |
void |
Adds the `state` to the
Animancer.ManualMixerState.SynchronizedChildren .Inherited from ManualMixerState
|
ToString |
string |
Returns a string describing the type of this mixer and the name of states connected to it.
Inherited from ManualMixerState
|
Update |
void |
Checks if any events should be invoked on the `parent` and its children recursively.
Inherited from AnimancerState
static
|
Update |
void |
Checks if any events should be invoked on the `parent` and its children recursively.
Inherited from AnimancerState
static
|
Extension Methods
Name | Value | Summary |
---|---|---|
Calculate |
float |
[Animancer Extension] [Editor-Only]
Returns the duration of the `node`s current fade (if any), otherwise returns the `defaultDuration`.
|
FadeChildWeights |
void |
Fades the child weights of a
Animancer.MixerState`1 to a new parameter value instead of fading
the actual parameter.
From MixerChildFade
|
IsValid |
bool |
[Animancer Extension]
Is the `node` is not null and its
Animancer.AnimancerNodeBase.Playable valid?
From AnimancerUtilities
|