Контроллер анимации не запускается с помощью триггера в unity3d
Привет, я пытаюсь запустить анимацию через триггер в моей игре, но, похоже, работает. У меня есть объект с анимацией, который я хочу запустить, когда игрок входит в зону "Триггер".
Вот сценарий:
#pragma strict
var animator: Animator;
function Start() {
}
function OnTriggerEnter() {
animator.Play(animator.name);
}
function Update () {
}
Я получаю ошибку:
Animator.GotoState: состояние не может быть найдено UnityEngine.Animator:Play(String)
А ТАКЖЕ
Неверный индекс слоя '-1' UnityEngine.Animator:Play(String)
Имя контроллера анимации: AnimControle.controller
Я не могу понять, что я делаю не так?
Спасибо
2 ответа
Вы должны правильно настроить параметры анимации. Я предлагаю вам это руководство. https://docs.unity3d.com/Manual/AnimationParameters.html
Для триггеров попробуйте эту функцию:
animator.SetTrigger("carNorth");// Given that you already have a Trigger named carNorth
Также то, что сказал @Христо, верно. Вы передаете имя Триггера в аргументах функции. Убедитесь, что вы определили триггер в окне анимации перед его передачей.
используемую функцию см. в официальных документах Unity https://docs.unity3d.com/ScriptReference/Animator.Play.html