Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Корневое движение - как это работает

Трансформация тела

Трансформация тела — это центр масс персонажа. Он используется в ретаргетингеMecanim для применения анимаций, созданных для одной модели, к другой. Подробнее
Смотреть в движке Словарь
и обеспечивает наиболее стабильную модель смещения . Ориентация тела — это среднее значение ориентации нижней и верхней частей тела относительно АватараИнтерфейс для перенацеливания анимации с одного рига на другой. . Подробнее
См. в Словарь
T- ПозаПоза, в которой персонаж раскинул руки в стороны, образуя букву «Т». Поза, в которой должен находиться персонаж, чтобы создать Аватар.
См. в Словарь
.

Преобразование тела и ориентация сохраняются в данных Animation Clip, которые можно использовать для анимированных персонажей или простых анимаций. Это простое «единичное» движение, такое как (один конкретный пример) «Простояние», «Ходьба» или «Бег». Подробнее
См. в Словарь
(используя Определения мышцЭто позволяет более интуитивно управлять скелетом персонажа. Когда аватар на месте, система анимации работает в пространство мышц, которое более интуитивно понятно, чем пространство костей. Подробнее
См. Словарь
, настроенный в Аватаре). Это единственные кривые мирового пространства, хранящиеся в анимационном клипе. Все остальное: кривые мышц и цели ИК (Руки и Ноги) сохраняются относительно трансформации тела.

Корневое преобразование

Корневое преобразование — это проекция преобразования тела на плоскость Y, вычисляемая во время выполнения. В каждом кадре вычисляется изменение корневого преобразования. Затем это изменение преобразования применяется к игровому объекту, чтобы заставить его двигаться.

Круг под символом представляет собой корневое преобразование.
Круг под символом представляет собой корневое преобразование.

Инспектор анимационных клипов

Настройки редактора анимационных клипов — Поворот корневого преобразования, Положение корневого преобразования (Y) и Положение корневого преобразования (XZ) — позволяют управлять проекцией Root Transform из Body Transform. В зависимости от этих настроек некоторые части Body Transform могут быть перенесены в Root Transform. Например, вы можете решить, хотите ли вы, чтобы положение Y движения было частью Основного движения (траектория) или частью позы (трансформация тела), которая известна как Запеченная в позу.

Root Transform Rotation

Запечь в позе. Ориентация останется на преобразовании тела (или позе). Ориентация корня будет постоянной, а дельта-ориентация будет идентичной. Это означает, что игровой объект вообще не будет вращаться этим AnimationClip.

Этот параметр следует использовать только для AnimationClips с одинаковой начальной и конечной ориентацией корня. У вас будет зеленый свет в UI(пользовательский интерфейс) Позволяет пользователю взаимодействовать с вашим приложением. Подробнее
См. в Словаре
сообщение о том, что AnimationClip хороший кандидат. Подходящим кандидатом будет прямая прогулка или бег.

На основе: позволяет установить ориентацию клипа. Используя Ориентацию тела, клип будет ориентирован так, чтобы следовать прямому вектору тела. Этот параметр по умолчанию хорошо работает для большинства данных захвата движения (Mocap), таких как ходьба, бег и прыжки, но он не работает с такими движениями, как стрейф, когда движение перпендикулярно прямому вектору тела. В таких случаях вы можете вручную отрегулировать ориентацию с помощью параметра Смещение. Наконец, у вас есть Исходный, который автоматически добавит авторское смещение, найденное в импортированном клипе. Обычно он используется с данными ключевых кадров для соблюдения ориентации, заданной художником.

Смещение: используется для ввода смещения, когда этот параметр выбран для На основе.

Позиция корневого преобразования (Y)

При этом используются те же концепции, что и в Root Transform Rotation.

Запечь в позу: компонент движения по оси Y останется в трансформации тела (позе). Компонент Y Root Transform будет постоянным, а Delta Root Position Y будет равен 0. Это означает, что этот клип не изменит высоту игрового объекта. И снова у вас есть зеленый свет, говорящий вам, что клип является хорошим кандидатом для запекания движения Y в позу.

Большинство AnimationClips включают этот параметр. Только клипы, которые изменят GameObjectосновной объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки, и более. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь
, высота должна быть отключена, например прыжок вверх или вниз.

Примечание. Animator.gravityWeight управляется функцией Bake Into Pose Y. Если эта функция включена, gravityWeight = 1, когда отключено = 0. gravityWeight смешивается для клипов при переходе между состояниями.

На основе: Аналогично Корневому преобразованию вращения вы можете выбрать Исходное или Центр масс (тело). Существует также параметр Ноги, который очень удобен для AnimationClips, меняющих высоту (Bake Into Pose отключен). При использовании Ножек положение корневого преобразования Y будет соответствовать самой нижней ноге Y для всех кадров. Таким образом, точка смешивания всегда остается вокруг ножек, что предотвращает проблему плавания при смешивании или переходе.

Смещение: аналогично вращению корневого преобразования, вы можете вручную отрегулировать высоту AnimationClip с помощью смещения настройка.

Позиция корневого преобразования (XZ)

Опять же, здесь используются те же концепции, что и в разделах Вращение корневого преобразования и Позиция корневого движения (Y).

Bake Into Pose обычно используется для «бездействия», когда вы хотите, чтобы дельта-позиция (XZ) была равна 0. Это остановит накопление небольших дельта-дрейфов после многих оценок. Его также можно использовать для клипа с ключевыми кадрами с параметром На основе Исходного, чтобы принудительно установить авторскую позицию, заданную исполнителем.

Поза петли

Циклическая поза (например, смешивание позы в деревьях смешения или переходах) происходит в референсе корневого преобразования. Как только корневое преобразование вычислено, поза становится относительно него. Относительная разница позы между начальным и конечным кадрами вычисляется и распределяется по диапазону клипа от 0 до 100%.

Общее корневое движение и положение петли

Это работает по существу так же, как Humanoid Root Motion, но вместо использования преобразования тела для вычисления/проецирования корневого преобразования используется преобразование, заданное в корневом узле. Преобразование в иерархии анимации, которое позволяет Unity установить согласованность между клипами анимации для универсальной модели. Это также позволяет Unity правильно смешивать анимации, которые не были созданы «на месте» (то есть когда вся Модель перемещает свое мировое положение во время анимации). Подробнее
См. в Словарь
. Поза (все кости, которые трансформируются под костью Root Motion) создается относительно Root Transform.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3