link animation trigger to animation unity code example
Example 1: c# unity animation trigger
//Attach this script to a GameObject with an Animator component attached.
//For this example, create parameters in the Animator and name them “Crouch” and “Jump”.
//Apply these parameters to your transitions between states.
//This script allows you to trigger an Animator parameter and reset the other that could possibly still be active. Press the up and down arrow keys to do this.
using UnityEngine;
public class Example : MonoBehaviour
{
Animator m_Animator;
void Start()
{
//Get the Animator attached to the GameObject you are intending to animate.
m_Animator = gameObject.GetComponent<Animator>();
}
void Update()
{
//Press the up arrow button to reset the trigger and set another one
if (Input.GetKey(KeyCode.UpArrow))
{
//Reset the "Crouch" trigger
m_Animator.ResetTrigger("Crouch");
//Send the message to the Animator to activate the trigger parameter named "Jump"
m_Animator.SetTrigger("Jump");
}
if (Input.GetKey(KeyCode.DownArrow))
{
//Reset the "Jump" trigger
m_Animator.ResetTrigger("Jump");
//Send the message to the Animator to activate the trigger parameter named "Crouch"
m_Animator.SetTrigger("Crouch");
}
}
}
Example 2: how to set an animator parameter through the animator unity
//click the add behaviour button on a state in the animator controller
//and add a script. Just put the name of the bool in the inspector
public class AnimatorResetBoolAtEnd : StateMachineBehaviour {
[SerializeField]
private string booleanVariableName;
// OnStateExit is called when a transition ends and the state
//machine finishes evaluating this state
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
animator.SetBool(booleanVariableName, false);
}
}