Summary
[Pro-Only]
An
Animancer.AnimancerState
which blends multiple child states
by allowing you to control their Animancer.AnimancerNode.Weight
manually.
- Assembly
- Animancer
.dll - Namespace
- Animancer
- Interfaces
- Base Types
- Derived Types
graph BT
Type-->Base0["AnimancerState"]
click Base0 "/animancer/api/Animancer/AnimancerState"
Base0-->Base1["AnimancerNode"]
click Base1 "/animancer/api/Animancer/AnimancerNode"
Base1-->Base2["AnimancerNodeBase"]
click Base2 "/animancer/api/Animancer/AnimancerNodeBase"
Base2-->Base3["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["ManualMixerState"]
class Type type-node
Derived0["MixerState<TParameter>"]-->Type
click Derived0 "/animancer/api/Animancer/MixerState_1"
Syntax
public class ManualMixerState : AnimancerState, ICopyable<AnimancerNode>,
IEnumerable<AnimancerState>, IEnumerator, IHasDescription, IAnimationClipCollection,
ICloneable<AnimancerState>, ICopyable<AnimancerState>, ICopyable<ManualMixerState>,
IParametizedState, IUpdatable
Remarks
This mixer type is similar to the Direct Blend Type in Mecanim Blend Trees.
The official Direct Blend Trees
tutorial explains their general concepts and purpose which apply to
Animancer.ManualMixerState
s as well.
Documentation:
Mixers
Properties
Name | Value | Summary |
---|---|---|
ApplyAnimatorIK | bool | |
ApplyFootIK | bool | |
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
|
AverageVelocity | Vector3 |
The average velocity of the Root Motion caused by this state.
|
ChildCapacity | int |
The size of the internal array of
Animancer.ManualMixerState.ChildStates . |
ChildCount | int |
The number of nodes using this as their
Animancer.AnimancerNodeBase.Parent . |
ChildStates | AnimancerState[] |
The states connected to this mixer.
|
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.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
|
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?
|
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
|
Length | float |
The weighted average
Animancer.AnimancerState.Length of each child state. |
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
|
Minimum |
float |
The minimum total weight of all children for their times to be synchronized. Default 0.01.
static
|
NormalizedEndTime | float |
The
Animancer.AnimancerState.NormalizedTime after which the
Animancer.AnimancerEvent.Sequence.OnEnd callback will be invoked every frame.
Inherited from AnimancerState
|
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
|
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
|
RawTime | double |
The weighted average
Animancer.AnimancerState.Time of each child state. |
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 . |
SynchronizedChildren | AnimancerState[] |
A copy of the internal list of child states that will have their times synchronized.
|
Synchronize |
bool |
Should newly added children be automatically added to the synchronization list? Default true.
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 . |
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.
|
Add |
ClipState |
Creates and returns a new
Animancer.ClipState to play the `clip` as a child of this mixer. |
Add |
AnimancerState |
Calls
Animancer.AnimancerUtilities.CreateStateAndApply(Animancer.ITransition,Animancer.AnimancerGraph) then Animancer.ManualMixerState.Add(Animancer.AnimancerState) . |
Add |
AnimancerState |
Calls one of the other
Animancer.ManualMixerState.Add(System.Object) overloads as appropriate for the `child`. |
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`. |
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(UnityEngine.AnimationClip) for each of the `clips`. |
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(Animancer.ITransition) for each of the `transitions`. |
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(System.Object) for each of the `children`. |
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(Animancer.ITransition) for each of the `transitions`. |
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(System.Object) for each of the `children`. |
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
|
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.
|
CalculateTotalWeight |
float |
Calculates the sum of the
Animancer.AnimancerNode.Weight of all `states`.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 |
Creates a new object with the same type and values this.
|
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.
|
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 |
void |
Creates and assigns the
UnityEngine.Animations.AnimationMixerPlayable managed by this state. |
CreatePlayable |
Animation |
Creates an
UnityEngine.Animations.AnimationScriptPlayable to run the specified Animation Job instead of the usual
UnityEngine.Animations.AnimationMixerPlayable .
|
CreatePlayable |
void |
Creates an
UnityEngine.Animations.AnimationScriptPlayable to run the specified Animation Job instead of the usual
UnityEngine.Animations.AnimationMixerPlayable .
|
Destroy |
void |
Destroys the
UnityEngine.Playables.Playable and cleans up this state. |
DestroyChildren |
void |
Destroys all
Animancer.ManualMixerState.ChildStates connected to this mixer. This operation cannot be undone.
|
DestroyPlayable |
void |
Destroys the
UnityEngine.Playables.Playable .Inherited from AnimancerNode
|
Disable |
void |
Sets the weight of all states after the `previousIndex` to 0.
|
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 . |
Dont |
void |
Removes all children of this mixer from the
Animancer.ManualMixerState.SynchronizedChildren . |
Ensure |
void |
Ensures that the remaining unused
Animancer.ManualMixerState.ChildCapacity
is greater than or equal to the specified `minimumCapacity`.
|
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
|
GatherAnimationClips |
void |
[
Animancer.IAnimationClipCollection ] Gathers all the animations in this state. |
GetChild |
AnimancerState |
Returns the state connected to the specified `index` as a child of this node.
|
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
|
GetDisplayKey |
string |
Gets a user-friendly key to identify the `state` in the Inspector.
|
GetEnumerator |
FastEnumerator |
Gets an enumerator for all of this node's child states.
|
GetEventDispatchInfo |
void |
Gets the details used to trigger
Animancer.AnimancerEvent s on this state:
Animancer.AnimancerState.Length , Animancer.AnimancerState.NormalizedTime , and Animancer.AnimancerState.IsLooping .
|
GetJobData |
T |
Gets the Animation Job data from the
UnityEngine.Animations.AnimationScriptPlayable .
|
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.
|
GetParentMixer |
ManualMixerState |
Returns the highest
Animancer.ManualMixerState in the hierarchy above the `state` (inclusive).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`.
static
|
IndexOf |
int |
Returns the index of the specified `child` state.
|
Initialize |
void |
Initializes the internal
Animancer.ManualMixerState.SynchronizedChildren list. |
IsChildOf |
bool |
Is the `child` a child of the `parent`?
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 ? |
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.
|
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.
|
NormalizeDurations |
void |
Recalculates the
Animancer.AnimancerState.Duration of all child states so that they add up to 1.
|
On |
void |
Called when the
Animancer.ManualMixerState.ChildCapacity is changed. |
On |
void |
Called when a child's
Animancer.AnimancerState.IsLooping value changes. |
OnSetIsPlaying |
void |
Called when the value of
Animancer.AnimancerState.IsPlaying is changed. |
Play |
void |
Plays this state immediately, without any blending and without affecting any other states.
Inherited from AnimancerState
|
RecreatePlayable |
void |
Calls
Animancer.AnimancerNode.DestroyPlayable and Animancer.AnimancerNode.CreatePlayable .Inherited from AnimancerNode
|
Recreate |
void |
Calls
Animancer.AnimancerNode.RecreatePlayable on this node and all its children recursively.Inherited from AnimancerNode
|
Remove |
void |
Removes the specified `child`.
|
Remove |
void |
Removes the child at the specified `index`.
|
Set |
void |
Replaces the `child` at the specified `index`.
|
Set |
ClipState |
Replaces the child at the specified `index` with a new
Animancer.ClipState . |
Set |
AnimancerState |
Replaces the child at the specified `index` with a
Animancer.ITransition.CreateState . |
Set |
AnimancerState |
Calls one of the other
Animancer.ManualMixerState.Set(System.Int32,System.Object,System.Boolean) overloads as appropriate for the `child`. |
SetChildrenTime |
void |
Sets
Animancer.AnimancerState.Time for all Animancer.ManualMixerState.ChildStates .
|
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 |
Sets the
Animancer.AnimancerNodeBase.Graph . |
SetJobData |
void |
Sets the Animation Job data in the
UnityEngine.Animations.AnimationScriptPlayable .
|
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 . |
ToString |
string |
Returns a string describing the type of this mixer and the name of states connected to it.
|
Update |
void |
Recalculates the weights of child states and synchronizes their times if necessary.
|
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`.
|
IsValid |
bool |
[Animancer Extension]
Is the `node` is not null and its
Animancer.AnimancerNodeBase.Playable valid?
From AnimancerUtilities
|