Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


AnimatorState

Represents a state in a state machine.
Read time 6 minutesLast updated 4 days ago

Definition

[HelpURL("class-State")]public sealed class AnimatorState : Object

Remarks

Each state contains an (AnimationClip or a BlendTree) which plays while the character is in the state. When a state transition is triggered, the character adopts a new state. The (AnimationClip or BlendTree) for the new state takes over.
The following example illustrates how to create a simple state machine using an editor script. It creates three states, "Idle", "Run", and "Jump", and transitions between them. This example does not set the Motion. You can create a new state with AnimatorController.AddMotion, or you can assign a motion to an existing state using AnimatorState.motion.
using UnityEditor;using UnityEditor.Animations;using UnityEngine;static class AnimatorStateExample{ [MenuItem("Example/Create Simple State Machine")] static void CreateSimpleController() { // Create the controller var controllerPath = AssetDatabase.GenerateUniqueAssetPath("Assets/SimpleController.controller"); var controller = AnimatorController.CreateAnimatorControllerAtPath(controllerPath); var stateMachine = controller.layers[0].stateMachine; // Create the states. First state (Idle) becomes the default state var idleState = stateMachine.AddState("Idle", new Vector2(300, 200)); var runState = stateMachine.AddState("Run", new Vector2(150, 350)); var jumpState = stateMachine.AddState("Jump", new Vector2(450, 350)); // Create the transition parameters controller.AddParameter("Speed", AnimatorControllerParameterType.Float); controller.AddParameter("Jump", AnimatorControllerParameterType.Trigger); // Create the transitions var idleToRun = idleState.AddTransition(runState); idleToRun.AddCondition(AnimatorConditionMode.Greater, 0.1f, "Speed"); var runToIdle = runState.AddTransition(idleState); runToIdle.AddCondition(AnimatorConditionMode.Less, 0.1f, "Speed"); var runToJump = runState.AddTransition(jumpState); runToJump.AddCondition(AnimatorConditionMode.If, 0, "Jump"); runToJump.duration = 0; var jumpToRun = jumpState.AddTransition(runState); jumpToRun.duration = 0; var idleToJump = idleState.AddTransition(jumpState); idleToJump.AddCondition(AnimatorConditionMode.If, 0, "Jump"); }}

Properties

Property

Description

behavioursThe Behaviour list assigned to this state.
cycleOffsetOffset at which the animation loop starts. Useful for synchronizing looped animations. Units is normalized time.
cycleOffsetParameterThe animator controller parameter that drives the cycle offset value.
cycleOffsetParameterActiveDefine if the /cycle offset/ value is driven by an Animator controller parameter or by the value set in the editor.
iKOnFeetShould Foot IK be respected for this state.
mirrorWhether the animation state is mirrored.
mirrorParameterThe animator controller parameter that drives the mirror value.
mirrorParameterActiveDefine if the
mirror
value is driven by an Animator controller parameter or by the value set in the editor.
motionThe motion assigned to this state.
nameHashThe hashed name of the state.
speedThe default speed of the motion.
speedParameterThe animator controller parameter that drives the speed value.
speedParameterActiveDefine if the
speed
value is driven by an Animator controller parameter or by the value set in the editor.
tagA tag can be used to identify a state.
timeParameterIf timeParameterActive is true, the value of this Parameter will be used instead of normalized time.
timeParameterActiveIf true, use value of given Parameter as normalized time.
transitionsThe transitions that are going out of the state.
writeDefaultValuesWhether or not the AnimatorStates writes back the default values for properties that are not animated by its Motion.

Methods

Method

Description

AddExitTransitionUtility function to add an outgoing transition to the exit of the state's parent state machine.
AddStateMachineBehaviourNon-generic version of this method.
AddTransitionUtility function to add an outgoing transition to the destination state.
RemoveTransitionUtility function to remove a transition from the state.

Inheritance

Inherited Members

Operators

Operator

Description

operator ==Compares two object references to see if they refer to the same object.
boolDetermines whether the object exists.
operator !=Compares if two objects refer to a different object.