Unity - Сопряжение НавМешАгента с Аниматором

В моем проекте я использую ThirdPersonController, который я импортировал из стандартных активов Unity. У меня также есть ThirdPersonAnimatorController для Ethan Figure. Я установил NavMesh в своей сцене и создал игровой объект Ethan с Animator и NavMeshAgent. Пока что NavMeshAgent работает нормально, но я хочу, чтобы движение было синхронизировано с анимацией.

Я не знаю много о смешанных деревьях, но я знаю, что вы можете установить параметры в скрипте для управления анимацией. В этом случае ThirdPersonAnimatorController имеет два параметра: поворот и вперед (оба являются числами от 0 до 1, представляющими угол поворота и скорость движения). Таким образом, дерево смешивания является 2D декартовой произвольной формой.

Единственная проблема, которую я имею, - это получить значения из NavMeshAgent (например, скорость поворота и скорость движения), чтобы я мог передать их в дерево смешивания.

0 ответов

Вы можете использовать velocity.magnitude агента NavMeshAgent:

        float speed = GetComponent<NavMeshAgent>().velocity.magnitude;

Затем вы можете использовать Debug.Log, чтобы попытаться разделить его на определенное значение, чтобы получить число в определенном диапазоне, или просто используйте простую величину и измените значения контроллера Animator.

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