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
-
- IUpdatable
- Key
.IListItem - IEnumerable
<AnimancerState> - IEnumerator
- IPlayableWrapper
- ICopyable
<AnimancerNode> - I
Animation Clip Collection - ICopyable
<AnimancerState> - ICopyable
<ManualMixerState>
- Base Types
-
- Object
- Key
- AnimancerNode
- AnimancerState
- Derived Types
graph BT
Type-->Base0["AnimancerState"]
click Base0 "/animancer-v7-4/api/Animancer/AnimancerState"
Base0-->Base1["AnimancerNode"]
click Base1 "/animancer-v7-4/api/Animancer/AnimancerNode"
Base1-->Base2["Key"]
click Base2 "/animancer-v7-4/api/Animancer/Key"
Base2-->Base3["Object"]
Type-.->Interface0["IUpdatable"]
click Interface0 "/animancer-v7-4/api/Animancer/IUpdatable"
Type-.->Interface1["Key.IListItem"]
click Interface1 "/animancer-v7-4/api/Animancer/IListItem"
Type-.->Interface2["IEnumerable<AnimancerState>"]
Type-.->Interface3["IEnumerator"]
Type-.->Interface4["IPlayableWrapper"]
click Interface4 "/animancer-v7-4/api/Animancer/IPlayableWrapper"
Type-.->Interface5["ICopyable<AnimancerNode>"]
Type-.->Interface6["IAnimationClipCollection"]
click Interface6 "/animancer-v7-4/api/Animancer/IAnimationClipCollection"
Type-.->Interface7["ICopyable<AnimancerState>"]
Type-.->Interface8["ICopyable<ManualMixerState>"]
Type["ManualMixerState"]
class Type type-node
Derived0["MixerState<TParameter>"]-->Type
click Derived0 "/animancer-v7-4/api/Animancer/MixerState_1"
Syntax
public class ManualMixerState : AnimancerState, IUpdatable, Key.IListItem,
IEnumerable<AnimancerState>, IEnumerator, IPlayableWrapper, ICopyable<AnimancerNode>,
IAnimationClipCollection, ICopyable<AnimancerState>, ICopyable<ManualMixerState>
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
Fields
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?
|
Apply |
bool |
Should setting the
Animancer.AnimancerNode.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.AnimancerNode.Parent also set this node's Animancer.AnimancerNode.ApplyFootIK to match it?
Default is true.
Inherited from AnimancerNode
static
|
Automatically |
bool |
Should the
Animancer.AnimancerState.Events be cleared automatically whenever Animancer.AnimancerState.Play , Animancer.AnimancerState.Stop ,
or Animancer.AnimancerState.OnStartFade are called? Default true.
Inherited from AnimancerState
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 |
[
Animancer.IPlayableWrapper ]
The number of states using this node as their Animancer.AnimancerState.Parent .
|
ChildStates | AnimancerState[] |
The states connected to this mixer.
|
Clip | AnimationClip |
A
Animancer.ManualMixerState has no UnityEngine.AnimationClip . |
DebugName | string |
[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.AnimancerNode.EffectiveSpeed .
Inherited from AnimancerState
|
EffectiveSpeed | float |
The
Animancer.AnimancerNode.Speed of this node multiplied by the Animancer.AnimancerNode.Speed of each of its parents to
determine the actual speed it's playing at.
Inherited from AnimancerNode
|
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
|
Events | AnimancerEvent |
A list of
Animancer.AnimancerEvent s that will occur while this state plays as well as one that
specifically defines when this state ends.
Inherited from AnimancerState
|
FadeSpeed | float |
The speed at which this node is fading towards the
Animancer.AnimancerNode.TargetWeight .Inherited from AnimancerNode
|
HasEvents | bool |
Does this state have an
Animancer.AnimancerEvent.Sequence ?Inherited from AnimancerState
|
Index | int |
The index of the port this node is connected to on the parent's
Animancer.AnimancerNode.Playable .Inherited from AnimancerNode
|
IsActive | bool |
Returns true if this state is playing and is at or fading towards a non-zero
Animancer.AnimancerNode.Weight .
Inherited from AnimancerState
|
IsLooping | bool |
Are any child states looping?
|
IsPlaying | bool |
Is the
Animancer.AnimancerState.Time automatically advancing?Inherited from AnimancerState
|
IsStopped | bool |
Returns true if this state isn't playing and is at 0
Animancer.AnimancerNode.Weight .
Inherited from AnimancerState
|
IsValid | bool |
Is the
Animancer.AnimancerNode.Playable usable (properly initialized and not destroyed)?Inherited from AnimancerNode
|
Keep |
bool |
Returns true because mixers should always keep child playables connected to the graph.
|
Key | Object |
The object used to identify this state in the root
Animancer.AnimancerPlayable.States dictionary.
Can be null.
Inherited from AnimancerState
|
Layer | AnimancerLayer |
The root
Animancer.AnimancerLayer which this node is connected to.Inherited from AnimancerState
|
LayerIndex | int |
The index of the
Animancer.AnimancerLayer this state is connected to (determined by the
Animancer.AnimancerState.Parent ). Returns -1 if this state is not connected to a layer.
Inherited from AnimancerState
|
Length | float |
The weighted average
Animancer.AnimancerState.Length of each child state according to their
Animancer.AnimancerNode.Weight .
|
MainObject | Object |
The main object to show in the Inspector for this state (if any).
Inherited from AnimancerState
|
Minimum |
float |
The minimum total weight of all children for their times to be synchronized. Default 0.01.
static
|
NormalizedEndTime | float |
[Pro-Only]
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
|
ParameterCount | int |
The number of parameters being managed by this state.
|
Parent | IPlayableWrapper |
The object which receives the output of the
UnityEngine.Playables.Playable .Inherited from AnimancerState
|
Playable | Playable |
The internal
UnityEngine.Playables.Playable managed by this node.Inherited from AnimancerNode
|
RawTime | double |
The weighted average
Animancer.AnimancerState.Time of each child state according to their
Animancer.AnimancerNode.Weight .
|
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.AnimancerNode.EffectiveSpeed .
Inherited from AnimancerState
|
Root | AnimancerPlayable |
The
Animancer.AnimancerPlayable at the root of the graph.Inherited from AnimancerNode
|
Speed | float |
[Pro-Only] How fast the
Animancer.AnimancerState.Time is advancing every frame (default 1).Inherited from AnimancerNode
|
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
|
Unsupported |
string |
[Assert-Only]
Returns
null if Animancer Events will work properly on this type of state, or a message explaining
why they might not work.
Inherited from AnimancerState
|
Unsupported |
string |
[Assert-Only]
Returns null if the
Animancer.AnimancerNode.Speed property will work properly on this type of node, or a message
explaining why it won't work.
Inherited from AnimancerNode
|
Weight | float |
The current blend weight of this node which determines how much it affects the final output.
Inherited from AnimancerNode
|
WeightsAreDirty | bool |
Should the weights of all child states be recalculated?
|
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.AnimancerPlayable) then Animancer.ManualMixerState.Add(Animancer.AnimancerState) . |
Add |
AnimancerState |
Calls one of the other
Animancer.ManualMixerState.Add(System.Object) overloads as appropriate for the `child`. |
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 `clips`. |
AddRange |
void |
Calls
Animancer.ManualMixerState.Add(System.Object) for each of the `clips`. |
AppendDescription |
void |
Appends a detailed descrption of the current details of this node.
Inherited from AnimancerNode
|
AppendDetails |
void | |
AppendIKDetails |
void |
Appends the details of
Animancer.IPlayableWrapper.ApplyAnimatorIK and
Animancer.IPlayableWrapper.ApplyFootIK .
Inherited from AnimancerNode
static
|
Apply |
void |
Synchronizes the
Animancer.AnimancerState.NormalizedTime s of the Animancer.ManualMixerState.SynchronizedChildren by
modifying their internal playable speeds.
|
ApplyWeight |
void |
Applies the
Animancer.AnimancerNode.Weight to the connection between this node and its Animancer.AnimancerNode.Parent .
Inherited from AnimancerNode
|
Assert |
void |
[Assert-Only]
Logs an error if the weight of the connection between the
Animancer.AnimancerNode.Parent and this node does not match
the Animancer.AnimancerNode.Weight .
Inherited from AnimancerNode
|
Assert |
void |
[Assert-Only] Calls
Animancer.AnimancerNode.AssertConnectionWeight for this node and all of its children.Inherited from AnimancerNode
static
|
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
|
CancelSetTime |
void |
Prevents the
Animancer.AnimancerState.RawTime from being applied.Inherited from AnimancerState
|
ChangeMainObject |
void |
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 copy of this state with the same
Animancer.AnimancerNode.Root .Inherited from AnimancerState
|
Clone |
AnimancerState |
Creates a copy of this state with the specified
Animancer.AnimancerNode.Root . |
CopyIKFlags |
void |
Copies the IK settings from the
Animancer.AnimancerNode.Parent :
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
Animancer.AnimancerNode.Playable .Inherited from AnimancerNode
|
Disable |
void |
Sets the weight of all states after the `previousIndex` to 0.
|
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
`minimumCapacity`.
|
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. |
GetChild |
AnimancerState |
[
Animancer.IPlayableWrapper ]
Returns the state connected to the specified `index` as a child of this node.
|
Get |
StackTrace |
[Assert-Only]
Returns the stack trace of the constructor (or null if
Animancer.AnimancerNode.TraceConstructor was false).
Inherited from AnimancerNode
static
|
GetDescription |
string |
Returns a detailed descrption of the current details of this node.
Inherited from AnimancerNode
|
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.
|
GetJobData |
T |
Gets the Animation Job data from the
UnityEngine.Animations.AnimationScriptPlayable .
|
GetParameterName |
string |
Returns the name of a parameter being managed by this state.
|
GetParameterType |
Animator |
Returns the type of a parameter being managed by this state.
|
GetParameterValue |
Object |
Returns the value of a parameter being managed by 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 state through its
Animancer.AnimancerState.Parent s.Inherited from AnimancerState
|
IndexOf |
int |
Returns the index of the specified `child` state.
|
IndexOf |
int |
Returns location of this object in the list (or
-1 if it is not currently in a keyed list).Inherited from Key
static
|
Initialize |
void |
Initializes the internal
Animancer.ManualMixerState.SynchronizedChildren list. |
IsChildOf |
bool |
Is the `child` a child of the `parent`?
static
|
IsInList |
bool |
Is the `key` currently in a keyed list?
Inherited from Key
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 ? |
MoveTime |
void |
Sets the
Animancer.AnimancerState.Time or Animancer.AnimancerState.NormalizedTime , but unlike those properties this method
applies any Root Motion and Animation Events (but not Animancer Events) between the old and new time.
|
MoveTime |
void |
Sets the
Animancer.AnimancerState.Time or Animancer.AnimancerState.NormalizedTime , but unlike those properties this method
applies any Root Motion and Animation Events (but not Animancer Events) between the old and new time.
Inherited from AnimancerState
|
NormalizeDurations |
void |
Recalculates the
Animancer.AnimancerState.Duration of all child states so that they add up to 1.
|
NormalizeWeights |
void |
Divides the weight of all child states by the `totalWeight`.
|
OnAddChild |
void |
Connects the `state` to this node at its
Animancer.AnimancerNode.Index .Inherited from AnimancerNode
|
On |
void |
Called when the
Animancer.ManualMixerState.ChildCapacity is changed. |
OnSetIsPlaying |
void |
Called when the value of
Animancer.AnimancerState.IsPlaying is changed. |
Play |
void |
Plays this state immediately, without any blending.
Unlike
Animancer.AnimancerPlayable.Play(Animancer.AnimancerState) , this method only affects this state and won't
stop any others that are playing.
Inherited from AnimancerState
|
RecalculateWeights |
bool |
If
Animancer.ManualMixerState.WeightsAreDirty this method recalculates the weights of all child states and returns true.
|
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`.
|
RequireUpdate |
void |
Calls
Animancer.AnimancerPlayable.RequirePreUpdate(Animancer.IUpdatable) if the Animancer.AnimancerNode.Root is not null.Inherited from AnimancerNode
|
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 Inspector display name of this node.
Animancer.AnimancerNode.ToString returns the name.
Inherited from AnimancerNode
|
SetJobData |
void |
Sets the Animation Job data in the
UnityEngine.Animations.AnimationScriptPlayable .
|
SetNewCloneRoot |
void |
Sets the
Animancer.AnimancerNode.Root .Inherited from AnimancerState
|
SetParameterValue |
void |
Sets the value of a parameter being managed by this state.
|
SetParent |
void |
Connects this state to the `parent` state at the specified `index`.
Inherited from AnimancerState
|
SetRoot |
void |
The
Animancer.AnimancerPlayable at the root of the graph.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.
This method allows any fade currently in progress to continue. If you don't wish to do that, you can set
the
Animancer.AnimancerNode.Weight property instead.
Animancer Lite only allows this value to be set to 0 or 1 in runtime builds.
Inherited from AnimancerNode
|
StartFade |
void |
Calls
Animancer.AnimancerNode.OnStartFade and starts fading the Animancer.AnimancerNode.Weight over the course
of the Animancer.AnimancerPlayable.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 AnimancerState
|
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
Animancer.ManualMixerState.Clip s connected to it.
|
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
Animancer.AnimancerNode.IsValid ?From AnimancerUtilities
|