Version: 2021.3

Animator.ResetTrigger

切换到手册
public void ResetTrigger (string name);
public void ResetTrigger (int id);

参数

name 参数名称。
id 参数 ID。

描述

重置给定触发器参数的值。

用于重置动画控制器中仍然处于激活状态的 Trigger 参数。确保在动画控制器中使用相同的名称创建参数。有关如何设置触发器的更多信息,请参阅 Animator.SetTrigger

//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"); } } }