Параметры
layerIndex | Индекс слоя. |
Возвращает
AnimatorStateInfo Объект AnimatorStateInfo с информацией о текущем состоянии.
Описание
Возвращает AnimatorStateInfo с информацией о текущем состоянии.
Выбирает данные из текущего состояния в аниматоре. Используйте это, чтобы получить подробную информацию о состоянии, включая доступ к скорости, длине, имени и другим переменным состояния. Для сбора информации из клипов, содержащихся в состояниях, см. Animator.GetCurrentAnimatorClipInfo.
//Create a GameObject and attach an Animator component (Click the Add Component button in the Inspector window, go to Miscellaneous>Animator).
//Create an Animator by going to Assets > Create > Animator Controller. Attach this Controller to the Animator attached to your GameObject
//In the Animator Controller, create a Trigger parameter in the Parameters tab and name it “Jump”. Then create states and transition arrows that use this parameter.
//Этот сценарий запускает параметр Animation при нажатии клавиши пробела.
using UnityEngine;
public class Example : MonoBehaviour
{
Animator m_Animator;
//Use to output current speed of the state to the screen
float m_CurrentSpeed;
void Start()
{
//Get the Animator, which you attach to the GameObject you intend to animate.
m_Animator = gameObject.GetComponent<Animator>();
//The current speed of the first Animator state
m_CurrentSpeed = m_Animator.GetCurrentAnimatorStateInfo(0).speed;
}
void Update()
{
//Press the space bar to tell the Animator to trigger the Jump Animation
if (Input.GetKeyDown(KeyCode.Space))
{
m_Animator.SetTrigger("Jump");
}
//When entering the Jump state in the Animator, output the message in the console
if (m_Animator.GetCurrentAnimatorStateInfo(0).IsName("Jump"))
{
Debug.Log("Jumping");
}
}
void OnGUI()
{
//Output the first Animation speed to the screen
GUI.Label(new Rect(25, 25, 200, 20), "Speed of State : " + m_CurrentSpeed);
}
}