Как рано выйти из состояния из StateMachineBehevior? - PullRequest
1 голос
/ 17 мая 2019

У меня есть StateMachineBehaviorScript, который должен проверить, является ли внешнее логическое значение истинным или ложным, и если ложно, текущее состояние должно быть немедленно остановлено, чтобы позволить следующему состоянию продолжаться.

Я пытался использовать animator.StopPlayBack (), если условие ложно и пробовал его и во входе, и в обновлении, но ни один из них не работает, анимация все равно воспроизводится до конца независимо от логического значения. Заранее спасибо за любую помощь!

override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
    if (!isReady)
    {
        animator.StopPlayback();
    }
}

1 Ответ

0 голосов
/ 17 мая 2019

В настройках аниматора убедитесь, что опция «Время выхода» не отмечена.Потому что, если это так, он завершит текущую анимацию, независимо от того, что прежде, чем начать новую.

...