HybridAnimancerComponent Class

Summary

[Pro-Only] A Animancer.NamedAnimancerComponent which plays a main UnityEngine.RuntimeAnimatorController with the ability to play other individual UnityEngine.AnimationClips separately.
Assembly
Animancer.dll
Namespace
Animancer
Interfaces
Base Types
graph BT Type-->Base0["NamedAnimancerComponent"] click Base0 "/animancer/api/Animancer/NamedAnimancerComponent" Base0-->Base1["AnimancerComponent"] click Base1 "/animancer/api/Animancer/AnimancerComponent" Base1-->Base2["MonoBehaviour"] Type-.->Interface0["IAnimancerComponent"] click Interface0 "/animancer/api/Animancer/IAnimancerComponent" Type-.->Interface1["IEnumerator"] Type-.->Interface2["IAnimationClipSource"] Type-.->Interface3["IAnimationClipCollection"] click Interface3 "/animancer/api/Animancer/IAnimationClipCollection" Type["HybridAnimancerComponent"] class Type type-node

Syntax

[AddComponentMenu(Strings.MenuPrefix + "Hybrid Animancer Component")]
[HelpURL(Strings.DocsURLs.APIDocumentation + "/" + nameof(HybridAnimancerComponent))]
public class HybridAnimancerComponent : NamedAnimancerComponent, IAnimancerComponent, IEnumerator, 
    IAnimationClipSource, IAnimationClipCollection

Remarks

Documentation: Hybrid

Attributes

Type Description
AddComponentMenu
HelpURLAttribute

Fields

Name Constant Value Summary
DefaultExecutionOrder -5000
Initialize before anything else tries to use this component.
Inherited from AnimancerComponent
static

Properties

Name Value Summary
ActionOnDisable AnimancerComponent.DisableAction
[UnityEngine.SerializeField] Determines what happens when this component is disabled or its UnityEngine.GameObject becomes inactive (i.e. in Animancer.AnimancerComponent.OnDisable).
Inherited from AnimancerComponent
angularVelocity Vector3
UnityEngine.Animator.angularVelocity
Animations AnimationClip[]
[UnityEngine.SerializeField] Animations in this array will be automatically registered by Animancer.NamedAnimancerComponent.Awake as states that can be retrieved using their name and the first element will be played by Animancer.NamedAnimancerComponent.OnEnable if Animancer.NamedAnimancerComponent.PlayAutomatically is true.
Animator Animator
[UnityEngine.SerializeField] The UnityEngine.Animator component which this script controls.
Inherited from AnimancerComponent
applyRootMotion bool
UnityEngine.Animator.applyRootMotion
avatar Avatar
UnityEngine.Animator.avatar
bodyPosition Vector3
UnityEngine.Animator.bodyPosition
bodyRotation Quaternion
UnityEngine.Animator.bodyRotation
Controller ControllerTransition
[UnityEngine.SerializeField] The transition containing the main UnityEngine.RuntimeAnimatorController that this object plays.
ControllerPlayable AnimatorControllerPlayable
The UnityEngine.Playables.Playable of the Animancer.ControllerState.
cullingMode AnimatorCullingMode
UnityEngine.Animator.cullingMode
DefaultAnimation AnimationClip
The first element in the Animancer.NamedAnimancerComponent.Animations array. It will be automatically played by Animancer.NamedAnimancerComponent.OnEnable if Animancer.NamedAnimancerComponent.PlayAutomatically is true.
deltaPosition Vector3
UnityEngine.Animator.deltaPosition
deltaRotation Quaternion
UnityEngine.Animator.deltaRotation
feetPivotActive float
UnityEngine.Animator.feetPivotActive
fireEvents bool
UnityEngine.Animator.fireEvents
gravityWeight float
UnityEngine.Animator.gravityWeight
hasBoundPlayables bool
UnityEngine.Animator.hasBoundPlayables
hasRootMotion bool
UnityEngine.Animator.hasRootMotion
hasTransformHierarchy bool
UnityEngine.Animator.hasTransformHierarchy
humanScale float
UnityEngine.Animator.humanScale
InitialUpdateMode Nullable<AnimatorUpdateMode>
[Editor-Only] The Animancer.IAnimancerComponent.UpdateMode that was first used when this script initialized.
Inherited from AnimancerComponent
isHuman bool
UnityEngine.Animator.isHuman
isInitialized bool
UnityEngine.Animator.isInitialized
isOptimizable bool
UnityEngine.Animator.isOptimizable
IsPlayableInitialized bool
Indicates whether the Animancer.AnimancerComponent.Playable has been initialized.
Inherited from AnimancerComponent
keepAnimatorControllerStateOnDisable bool
UnityEngine.Animator.keepAnimatorControllerStateOnDisable
layerCount int
The number of layers in the Animancer.HybridAnimancerComponent.Controller.
Layers AnimancerPlayable.LayerList
The layers which each manage their own set of animations.
Inherited from AnimancerComponent
layersAffectMassCenter bool
UnityEngine.Animator.layersAffectMassCenter
leftFeetBottomHeight float
UnityEngine.Animator.leftFeetBottomHeight
logWarnings bool
UnityEngine.Animator.logWarnings
parameterCount int
The number of parameters in the Animancer.HybridAnimancerComponent.Controller.
parameters AnimatorControllerParameter[]
The parameters in the Animancer.HybridAnimancerComponent.Controller.
pivotPosition Vector3
UnityEngine.Animator.pivotPosition
pivotWeight float
UnityEngine.Animator.pivotWeight
Playable AnimancerPlayable
The internal system which manages the playing animations. Accessing this property will automatically initialize it.
Inherited from AnimancerComponent
playableGraph PlayableGraph
Animancer.AnimancerPlayable.Graph
PlayAutomatically bool
[UnityEngine.SerializeField] If true, the first clip in the Animancer.NamedAnimancerComponent.Animations array will be automatically played by Animancer.NamedAnimancerComponent.OnEnable.
rightFeetBottomHeight float
UnityEngine.Animator.rightFeetBottomHeight
rootPosition Vector3
UnityEngine.Animator.rootPosition
rootRotation Quaternion
UnityEngine.Animator.rootRotation
runtimeAnimatorController RuntimeAnimatorController
Animancer.HybridAnimancerComponent.Controller
speed float
[Warning] Animancer.HybridAnimancerComponent doesn't support speed control.
stabilizeFeet bool
UnityEngine.Animator.stabilizeFeet
States AnimancerPlayable.StateDictionary
The states managed by this component.
Inherited from AnimancerComponent
updateMode AnimatorUpdateMode
UnityEngine.Animator.updateMode
UpdateMode AnimatorUpdateMode
Determines when animations are updated and which time source is used. This property is mainly a wrapper around the UnityEngine.Animator.updateMode.
Inherited from AnimancerComponent
velocity Vector3
UnityEngine.Animator.velocity

Methods

Name Value Summary
~AnimancerComponent() void
[Editor-Only] Ensures that the Animancer.AnimancerPlayable is destroyed in Edit Mode, but not in Play Mode since we want to let Unity complain if that happens.
Inherited from AnimancerComponent
ApplyBuiltinRootMotion() void
UnityEngine.Animator.ApplyBuiltinRootMotion
Awake() void
Creates a state for each clip in the Animancer.NamedAnimancerComponent.Animations array.
CrossFade(int, float, int, float) void
Starts a transition from the current state to the specified state using normalized times.
CrossFade(string, float, int, float) AnimancerState
Starts a transition from the current state to the specified state using normalized times.
CrossFadeInFixedTime(int, float, int, float) void
Starts a transition from the current state to the specified state using times in seconds.
CrossFadeInFixedTime(string, float, int, float) AnimancerState
Starts a transition from the current state to the specified state using times in seconds.
Evaluate() void
Immediately applies the current states of all animations to the animated objects.
Inherited from AnimancerComponent
Evaluate(float) void
Advances time by the specified value (in seconds) and immediately applies the current states of all animations to the animated objects.
Inherited from AnimancerComponent
GatherAnimationClips(ICollection<AnimationClip>) void
GetAnimationClips(List<AnimationClip>) void
[UnityEngine.IAnimationClipSource] Calls Animancer.AnimancerComponent.GatherAnimationClips(System.Collections.Generic.ICollection{UnityEngine.AnimationClip}).
Inherited from AnimancerComponent
GetAnimatorTransitionInfo(int) AnimatorTransitionInfo
Gets information about the current transition.
GetBehaviour<T>() T
UnityEngine.Animator.GetBehaviour``1
GetBehaviours(int, int) StateMachineBehaviour[]
UnityEngine.Animator.GetBehaviours(System.Int32,System.Int32)
GetBehaviours<T>() T[]
UnityEngine.Animator.GetBehaviours``1
GetBoneTransform(HumanBodyBones) Transform
UnityEngine.Animator.GetBoneTransform(UnityEngine.HumanBodyBones)
GetBool(int) bool
Gets the value of the specified boolean parameter.
GetBool(string) bool
Gets the value of the specified boolean parameter.
GetCurrentAnimatorClipInfo(int) AnimatorClipInfo[]
Gets information about the UnityEngine.AnimationClips currently being played.
GetCurrentAnimatorClipInfo(int, List<AnimatorClipInfo>) void
Gets information about the UnityEngine.AnimationClips currently being played.
GetCurrentAnimatorClipInfoCount(int) int
Gets the number of UnityEngine.AnimationClips currently being played.
GetCurrentAnimatorStateInfo(int) AnimatorStateInfo
Returns information about the current state.
GetFloat(int) float
Gets the value of the specified float parameter.
GetFloat(string) float
Gets the value of the specified float parameter.
GetInteger(int) int
Gets the value of the specified integer parameter.
GetInteger(string) int
Gets the value of the specified integer parameter.
GetKey(AnimationClip) Object
Returns the clip's name.
GetLayerCount() int
Gets the number of layers in the Animancer.HybridAnimancerComponent.Controller.
GetLayerIndex(string) int
Gets the index of the layer with the specified name.
GetLayerName(int) string
Gets the name of the layer with the specified index.
GetLayerWeight(int) float
Gets the weight of the layer at the specified index.
GetNextAnimatorClipInfo(int) AnimatorClipInfo[]
Gets information about the UnityEngine.AnimationClips currently being transitioned towards.
GetNextAnimatorClipInfo(int, List<AnimatorClipInfo>) void
Gets information about the UnityEngine.AnimationClips currently being transitioned towards.
GetNextAnimatorClipInfoCount(int) int
Gets the number of UnityEngine.AnimationClips currently being transitioned towards.
GetNextAnimatorStateInfo(int) AnimatorStateInfo
Returns information about the next state being transitioned towards.
GetParameter(int) AnimatorControllerParameter
Gets the details of one of the Animancer.HybridAnimancerComponent.Controller's parameters.
GetParameterCount() int
Gets the number of parameters in the Animancer.HybridAnimancerComponent.Controller.
HasState(int, int) bool
Indicates whether the specified layer contains the specified state.
InitializePlayable() void
Creates and initializes the Animancer.AnimancerComponent.Playable if it wasn't already initialized.
Inherited from AnimancerComponent
InitializePlayable(AnimancerPlayable) void
Sets the Animancer.AnimancerComponent.Playable and connects it to the Animancer.AnimancerComponent.Animator.
Inherited from AnimancerComponent
IsInTransition(int) bool
Indicates whether the specified layer is currently executing a transition.
IsParameterControlledByCurve(int) bool
Indicates whether the specified parameter is controlled by an UnityEngine.AnimationClip.
IsParameterControlledByCurve(string) bool
Indicates whether the specified parameter is controlled by an UnityEngine.AnimationClip.
IsPlaying() bool
Returns true if at least one animation is being played.
Inherited from AnimancerComponent
IsPlaying(AnimancerState) bool
[Warning] You should not use an Animancer.AnimancerState as a key. Just check Animancer.AnimancerState.IsPlaying.
Inherited from AnimancerComponent
IsPlaying(AnimationClip) bool
Returns true if a state is registered for the `clip` and it is currently playing.

The actual dictionary key is determined using Animancer.AnimancerComponent.GetKey(UnityEngine.AnimationClip).
Inherited from AnimancerComponent
IsPlaying(IHasKey) bool
Returns true if a state is registered with the Animancer.IHasKey.Key and it is currently playing.
Inherited from AnimancerComponent
IsPlaying(Object) bool
Returns true if a state is registered with the `key` and it is currently playing.
Inherited from AnimancerComponent
IsPlayingClip(AnimationClip) bool
Returns true if the `clip` is currently being played by at least one state.

This method is inefficient because it searches through every state to find any that are playing the `clip`, unlike Animancer.AnimancerComponent.IsPlaying(UnityEngine.AnimationClip) which only checks the state registered using the `clip`s key.
Inherited from AnimancerComponent
OnDestroy() void
Ensures that the Animancer.AnimancerComponent.Playable is properly cleaned up.
Inherited from AnimancerComponent
OnDisable() void
Acts according to the Animancer.AnimancerComponent.ActionOnDisable.
Inherited from AnimancerComponent
OnEnable() void
Plays the Animancer.HybridAnimancerComponent.Controller if PlayAutomatically is false (otherwise it plays the first animation in the Animancer.NamedAnimancerComponent.Animations array).
OnInitializePlayable() void
Sets Animancer.AnimancerPlayable.KeepChildrenConnected to true in order to avoid some undesirable behaviours caused by disconnecting UnityEngine.Animations.AnimatorControllerPlayables from the graph.
OnValidate() void
[Editor-Only] Uses ClipState.ValidateClip to ensure that all of the clips in the Animancer.NamedAnimancerComponent.Animations array are supported by the Animancer system and removes any others.
Play(AnimancerState) AnimancerState
Stops all other animations on the same layer, plays the `state`, and returns it.
Inherited from AnimancerComponent
Play(AnimancerState, float, FadeMode) AnimancerState
Starts fading in the `state` while fading out all others in the same layer over the course of the `fadeDuration`. Returns the `state`.
Inherited from AnimancerComponent
Play(AnimationClip) AnimancerState
Stops all other animations on the same layer, plays the `clip`, and returns its state.
Inherited from AnimancerComponent
Play(AnimationClip, float, FadeMode) AnimancerState
Starts fading in the `clip` while fading out all other states in the same layer over the course of the `fadeDuration`. Returns its state.
Inherited from AnimancerComponent
Play(int, int, float) void
Plays the specified state immediately, starting from a particular normalized time.
Play(ITransition) AnimancerState
Creates a state for the `transition` if it didn't already exist, then calls Animancer.AnimancerComponent.Play(Animancer.AnimancerState) or Animancer.AnimancerComponent.Play(Animancer.AnimancerState,System.Single,Animancer.FadeMode) depending on ITransition.CrossFadeFromStart.
Inherited from AnimancerComponent
Play(ITransition, float, FadeMode) AnimancerState
Creates a state for the `transition` if it didn't already exist, then calls Animancer.AnimancerComponent.Play(Animancer.AnimancerState) or Animancer.AnimancerComponent.Play(Animancer.AnimancerState,System.Single,Animancer.FadeMode) depending on ITransition.CrossFadeFromStart.
Inherited from AnimancerComponent
Play(string, int, float) AnimancerState
Plays the specified state immediately, starting from a particular normalized time.
PlayController() ControllerState
Transitions to the Animancer.HybridAnimancerComponent.Controller over its specified Animancer.AnimancerTransition`1.FadeDuration and returns the Animancer.AnimancerTransition`1.State.
PlayInFixedTime(int, int, float) void
Plays the specified state immediately, starting from a particular time (in seconds).
PlayInFixedTime(string, int, float) AnimancerState
Plays the specified state immediately, starting from a particular time (in seconds).
Rebind() void
UnityEngine.Animator.Rebind
Reset() void
[Editor-Only] Sets PlayAutomatically = false by default so that Animancer.HybridAnimancerComponent.OnEnable will play the Animancer.HybridAnimancerComponent.Controller instead of the first animation in the Animancer.NamedAnimancerComponent.Animations array.
ResetTrigger(int) void
Resets the specified trigger parameter to false.
ResetTrigger(string) void
Resets the specified trigger parameter to false.
SetBoneLocalRotation(HumanBodyBones, Quaternion) void
UnityEngine.Animator.SetBoneLocalRotation(UnityEngine.HumanBodyBones,UnityEngine.Quaternion)
SetBool(int, bool) void
Sets the value of the specified boolean parameter.
SetBool(string, bool) void
Sets the value of the specified boolean parameter.
SetFloat(int, float) void
Sets the value of the specified float parameter.
SetFloat(int, float, float, float, float) float
Sets the value of the specified float parameter with smoothing.
SetFloat(string, float) void
Sets the value of the specified float parameter.
SetFloat(string, float, float, float, float) float
Sets the value of the specified float parameter with smoothing.
SetInteger(int, int) void
Sets the value of the specified integer parameter.
SetInteger(string, int) void
Sets the value of the specified integer parameter.
SetLayerWeight(int, float) void
Sets the weight of the layer at the specified index.
SetTrigger(int) void
Sets the specified trigger parameter to true.
SetTrigger(string) void
Sets the specified trigger parameter to true.
Stop() void
Stops all animations and rewinds them to the start.
Inherited from AnimancerComponent
Stop(AnimancerState) AnimancerState
[Warning] You should not use an Animancer.AnimancerState as a key. Just call Animancer.AnimancerState.Stop.
Inherited from AnimancerComponent
Stop(AnimationClip) AnimancerState
Gets the state associated with the `clip`, stops and rewinds it to the start, then returns it.
Inherited from AnimancerComponent
Stop(IHasKey) AnimancerState
Gets the state registered with the Animancer.IHasKey.Key, stops and rewinds it to the start, then returns it.
Inherited from AnimancerComponent
Stop(Object) AnimancerState
Gets the state associated with the `key`, stops and rewinds it to the start, then returns it.
Inherited from AnimancerComponent
TryGetAnimator() bool
Tries to ensure that an Animancer.AnimancerComponent.Animator is present using UnityEngine.Component.TryGetComponent``1(``0@) if necessary.
Inherited from AnimancerComponent
TryPlay(Object) AnimancerState
Stops all other animations on the same layer, plays the animation registered with the `key`, and returns that state. Or if no state is registered with that `key`, this method does nothing and returns null.
Inherited from AnimancerComponent
TryPlay(Object, float, FadeMode) AnimancerState
Starts fading in the animation registered with the `key` while fading out all others in the same layer over the course of the `fadeDuration`. Or if no state is registered with that `key`, this method does nothing and returns null.
Inherited from AnimancerComponent

Operators

Name Value Summary
implicit operator AnimancerLayer(AnimancerComponent) AnimancerLayer
Inherited from AnimancerComponent
implicit operator AnimancerPlayable(AnimancerComponent) AnimancerPlayable
Inherited from AnimancerComponent

Extension Methods

Name Value Summary
Update(float) void
Advances time by the specified value (in seconds) and immediately applies the current states of all animations to the animated objects.