Иногда ваша анимация появляется "на месте", что означает, что если вы поместите ее в сценуСцена содержит среды и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь, символ, который это включено. Другими словами, анимация не содержит «корневое движениедвижение корневого узла персонажа, независимо от того, контролируется ли оно самой анимацией или внешними средствами. . Подробнее
См. в Словарь». Для этого мы можем изменить корневое движение из скрипта. Чтобы собрать все вместе, следуйте инструкциям ниже (обратите внимание, что существует множество вариантов достижения одного и того же результата, это всего лишь один рецепт).
- Откройте инспекторокно Unity, в котором отображается информация о текущем выбранном игровом объекте, активе или настройках проекта, что позволяет вам проверять и отредактируйте значения. Дополнительная информация
См. в Словарь файл FBX, содержащий встроенную анимацию, и перейдите на вкладку Анимация - Убедитесь, что Muscle Definitionпозволяет более интуитивно управлять скелетом персонажа. Когда Аватар на месте, система анимации работает в пространстве мышц, которое более интуитивно понятно, чем пространство костей. Подробнее
См. в Словарь установлен на АватарИнтерфейс для перенацеливания анимации с одного рига на другой. Подробнее
См. в Словарь, которым вы собираетесь управлять (допустим, этот аватар называется Чувак, и он уже добавлен в Просмотр иерархии). - Выберите анимационный клипданные анимации, которые можно использовать для анимированных персонажей или простых анимаций. Это простое «единичное» движение, такое как (один конкретный пример) «Простояние», «Ходьба» или «Бег». Подробнее
Смотреть в Словарь из доступных клипов - Убедитесь, что Loop Poseпараметр анимационного клипа смешивает конец и начало анимации для создания плавного соединения. Подробнее
Смотрите в Словарь правильно выровнен (индикатор рядом с ним зеленый), и установлен флажок Поза цикла .
- Просмотрите анимацию в средстве просмотра анимации, чтобы убедиться, что начало и конец анимации плавно совмещены, а персонаж движется «на месте».
- На анимационном клипе создайте кривую, которая будет управлять скоростью персонажа (вы можете добавить кривую в Инспекторе импорта анимации Кривые-> +)
- Назовите эту кривую осмысленно, например "Скорость бега".
- Создайте новый Контроллер анимацииУправляет анимацией через слои анимации с помощью конечных автоматов анимации и деревьев смешивания анимации, управляемых параметрами анимации. На один и тот же контроллер Animator могут ссылаться несколько моделей с компонентами Animator. Подробнее
См. в Словарь (назовем его RootMotionController ) - Перетащите в него нужный анимационный клип, это должно создать состояние с названием анимации (например, Выполнить)
- Добавьте в контроллер параметр с тем же именем, что и у кривой (в данном случае "Скорость выполнения").
- Выберите персонажа Чувак в Иерархии, в инспекторе которого уже должен быть компонент Аниматор.
- Перетащите RootMotionController в свойство Controller аниматора
- Если вы сейчас нажмете кнопку воспроизведения, то увидите, что "Чувак" бежит на месте.
Наконец, для управления движением нам потребуется создать скрипт (RootMotionScript.cs), реализующий обратный вызов OnAnimatorMove:-
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Animator))]
public class RootMotionScript : MonoBehaviour {
void OnAnimatorMove()
{
Animator animator = GetComponent();
if (animator)
{
Vector3 newPosition = transform.position;
newPosition.z += animator.GetFloat("Runspeed") * Time.deltaTime;
transform.position = newPosition;
}
}
}
Вы должны прикрепить RootMotionScript.cs к объекту «Чувак». При этом Компонент анимацииКомпонент модели, который анимирует эту модель с помощью системы анимации. Компонент имеет ссылку на ресурс Animator Controller, который управляет анимацией. Подробнее
See in Словарь обнаружит, что скрипт имеет OnAnimatorMove и показать свойство Apply Root Motion как Обрабатывается сценарием