Объявление
public void SetTrigger(string name);public void SetTrigger(int id);
Параметры
name | Имя параметра. |
id | Идентификатор параметра. |
Описание
Устанавливает значение данного параметра триггера.
Этот метод позволяет вам установить (т. е. активировать) триггер анимации, чтобы вызвать изменение потока в конечном автомате контроллера аниматора. Страница Параметры анимации описывает назначение окна параметров контроллера анимации. Trigger
— это один из 4 доступных для выбора вариантов. При выборе этого параметра в список выбранных параметров добавляется Trigger
. Как только это добавлено к выбранному списку, это может быть названо. В отличие от bool
, которые имеют один и тот же параметр true/false
, Trigger
иметь параметр true
, который автоматически возвращает значение false
. Типичным примером может быть опция «Прыжок». Если эта опция введена во время выполнения, персонаж будет прыгать. В конце прыжка будет возвращено предыдущее движение (например, ходьба или бег).
В приведенном ниже примере сценария нажатие UpArrow
или DownArrow
активирует триггеры Прыжок или Приседание с помощью 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");
}
}
}