Контроллер анимации не запускается с помощью триггера в 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

Другие вопросы по тегам