В Unreal Engine есть набор инструментов и редакторов анимации для создания систем анимации персонажей и объектов в среде выполнения, отрисовки кинематографического контента и разработки нового анимационного контента прямо в движке и в реальном времени, чтобы мгновенно видеть все внесённые вами изменения.
Для пользователей Maya Unreal Engine переносит анимацию в рабочую среду в реальном времени с помощью интерактивного контента, адаптированного для игр с использованием логики, управляемой состоянием, а также интерактивных проектов, в которые пользователь может «сыграть», а не просто воспроизвести. Несмотря на то, что рабочая среда Unreal Engine специально адаптирована для такого типа разработки, это не значит, что нужно использовать именно этот контент. Можно адаптировать автономные рабочие процессы под рабочую среду, полностью работающую в реальном времени, где особое внимание уделяется совместной работе и мгновенной обратной связи в части освещения и материалов. Это сделает вашу работу более продуктивной в моменте, ведь вы сможете быстрее принимать решения относительно отрисовки сцены.
В этом разделе руководства мы сравним концепции Maya и Unreal Engine, познакомим вас с базовыми компонентами анимации Unreal Engine, представим обзор рабочих процессов по созданию анимации в движке или использованию импортированного контента, а также расскажем о нескольких дополнительных инструментах анимации, которые вам пригодятся.
Сравнение ключевых концепций
Ниже приведён список концепций Maya и способ их переноса в Unreal Engine.
| Maya | Unreal Engine |
|---|---|
Шарниры и скелет | Скелеты |
Скелетная анимация | Скелеты |
Скиннинг | Скелетная сетка |
Анимация по опорным кадрам | Импортированный ресурс анимации |
Экспорт файлов анимации (OBJ, FBX и т. д.) | Последовательности анимации |
Переходные формы и управляемые клавиши | Целевые объекты морфинга, пространства смешивания и кривые анимации |
Слои анимации/нелинейная анимация (NLA) | Слои анимации |
Graph Editor (Редактор графов) | Кривые в Sequencer и граф анимации |
Инверсная кинематика, прямая кинематика и HumanIK | Регулятор каркаса, ИК в реальном времени и перенос анимации с ИК не в реальном времени |
Trax Editor (Редактор Trax, нелинейное редактирование) | Монтаж анимации и Sequencer |
Физика/динамика | Система анимации, основанная на физике |
Компоненты анимации
Ниже приведён список различных компонентов Unreal Engine, которые вы будете использовать для анимирования объектов и работы с анимациями, импортированными или созданными в редакторе.
| Компонент Unreal Engine | Описание |
|---|---|
Скелет и скелетная сетка | Скелет используется для определения костей (иногда называемых шарнирами) в скелетной (обтянутой) сетке. Эти кости, в некотором смысле, имитируют настоящий биологический скелет по тому, как они расположены и как управляются при деформации сетки персонажа. Скелеты используются для хранения и связывания данных анмиации, общей иерархии скелета и последовательностей анимации. Одни и те же скелеты могут относиться к разным скелетным сеткам и анимациям. Скелетные сетки содержат визуальную сетку персонажа или объекта, использующую скелет для хранения данных о костях, необходимых для его анимирования. Скелетные сетки воспроизводят анимации и создают логику для управления поведением персонажа в реальном времени. Для получения дополнительной информации ознакомьтесь со следующими разделами: |
Animation Sequence (Последовательность анимации) | Это ресурс анимации, содержащий данные анимации, которую можно воспроизвести на скелетной сетке, чтобы её анимировать. Эти последовательности анимации содержат опорные кадры, которые определяют положение, вращение и размеры скелета, назначенного скелетной сетке, в определённые моменты времени. Смешивание опорных кадров во время последовательного воспроизведения позволяет через движение скелета анимировать персонажа. Последовательности анимации привязаны к определённым ресурсам скелета, что позволяет разным сеткам скелета, использующим один и тот же ресурс скелета, совместно использовать анимации. Для получения дополнительной информации ознакомьтесь со следующими разделами: |
Blend Space (Пространство смешивания) | Это ресурсы, которые позволяют смешивать несколько анимаций или поз, добавляя их в одномерный или двухмерный граф. На этот граф в дальнейшем можно ссылаться через Animation Blueprint (Схему с анимацией), в которой можно управлять смешиванием с помощью пользовательских вводов или других переменных. Благодаря пространствам смешивания для анимаций можно использовать практически любой тип смешивания. Пространства смешивания можно представить как интерактивные ползунки или управляемые клавиши, которые используют визуальную сетку для плавной интерполяции между анимациями на основе входных данных. Обычно их используют для плавного смешивания анимаций бездействия/ходьбы/бега, но они также позволяют учитывать скорость и направление. Подробнее см. в разделе Blend Spaces (Пространства смешивания). |
Регулятор каркаса | Это набор инструментов для анимации, позволяющий настраивать и анимировать персонажей непосредственно в движке, благодаря чему можно не использовать внешние инструменты. С помощью регулятора каркаса можно создавать и настраивать индивидуальные элементы управления оснасткой персонажа, анимировать в Sequencer и использовать многообразие других инструментов анимации, чтобы содействовать рабочему процессу. Подробнее см. в разделе Control Rig (Регулятор каркаса). |
Модульные регуляторы каркаса | Это цифровой каркас, созданный путём объединения ряда готовых ресурсов регулятора каркаса, называемых модулями. Модуль — это компонент регулятора каркаса, представляющий часть тела персонажа (например, руку, ногу или позвоночник), который можно использовать для автоматического создания набора элементов управления и настройки части тела таким образом, чтобы она могла получать данные анимации. Модули можно подключать друг к другу, чтобы создать полноценный каркас анимации для обеспечения движения скелета. Подробнее см. в разделе Modular Control Rigs (Модульные регуляторы каркаса). |
Редактор кривых | Используйте этот редактор для изменения и точной настройки опорных кадров для анимированных объектов. В графе редактора кривых можно редактировать существующие опорные кадры или создавать новые, редактировать касательные и использовать встроенные инструменты для настройки кривых анимации. Ресурсы кривых можно использовать в других редакторах движка, таких как Niagara, но по большей части они используются в Sequencer для работы с анимацией. |
Sequencer | Это редактор последовательностей для анимирования персонажей, камер, свойств и прочих акторов. В нём есть среда нелинейного редактирования, в которой можно создавать и изменять дорожки и опорные кадры на временной шкале. Для получения дополнительной информации ознакомьтесь со следующими разделами: |
Режим анимации | В редакторе уровней можно выбрать разные режимы, которые нужны для разных целей, такие как формирование и окрашивание рельефа, моделирование геометрии или анимирование. Режим Анимация в редакторе уровней позволяет анимировать акторы и компоненты уровня непосредственно на уровне с помощью Sequencer, работая в среде в реальном времени, в визуальном редакторе. Режим анимации включает в себя следующие инструменты для регуляторов каркаса:
Для получения дополнительной информации ознакомьтесь со следующими разделами:
|
Схема с анимацией | Это специальные схемы Blueprint, которые управляют анимацией скелетной сетки во время симуляции или игрового процесса. Графы анимации редактируются в редакторе схем с анимацией, где можно смешивать анимации, управлять костями скелета или создавать логику, которая определяет конечную позу анимации для скелетной сетки, используемую в каждом отдельном кадре. Для получения дополнительной информации ознакомьтесь со следующими разделами: |
Конечный автомат | Это модульные системы, которые можно настраивать внутри схем с анимацией, чтобы определить, какие анимации могут воспроизводиться и когда они могут воспроизводиться. В первую очередь, этот тип систем используется для сопоставления анимаций с состояниями перемещения персонажей: бездействием, ходьбой, бегом и прыжками. С их помощью можно создавать «состояния», определяемые анимациями, которые воспроизводятся в конкретный момент, и настраивать различные типы переходов для управления переключением на другие состояния анимации. Так гораздо проще создавать сложное смешивание анимаций, ведь не нужно использовать перегруженный граф анимации. Подробнее см. в разделе State Machines (Конечные автоматы). |
Дополнительные инструменты для анимации
В Unreal Engine есть множество инструментов и систем, позволяющих полноценно анимировать проект внутри движка. Ниже приведены некоторые основные сведения о дополнительных инструментах и системах, а также моменты, которые следует учитывать при анимировании в Unreal Engine.
Перенос анимации
Перенос анимации — это функция, позволяющая повторно использовать анимации на нескольких персонажах, которые используют один и тот же ресурс скелета, но могут иметь совершенно разные пропорции. Это избавляет от необходимости создавать полностью новые анимации, поскольку можно использовать ресурсы анимации совместно.
Есть две ситуации, при которых вы можете воспользоваться функцией переноса анимаций:
скелет персонажа, который вы переносите, использует тот же ресурс скелета, для которого были созданы анимации;
скелет персонажа, который вы переносите, использует другой ресурс скелета. Вместо этого для передачи информации о костях одного скелета в другой скелет нужно использовать каркас.
В приведённом ниже примере представлены три персонажа, которые используют один и тот же ресурс скелета, но все они имеют разные пропорции. Перед переносом целевые скелеты деформируются до размеров исходного скелета, несмотря на их пропорции. После переноса пропорции персонажей восстанавливаются для каждого персонажа.
Для получения дополнительной информации ознакомьтесь со следующими разделами:
Анимация, основанная на физике
UE использует физические симуляции (манекены, ткань, динамические причёски) для повышения реалистичности.
Они могут органично смешиваться с анимацией по опорным кадрам, что делает процесс более функциональным, чем обычные рабочие процессы Maya.
Анимация, основанная на физике, смешивает результат симуляции с анимацией по опорным кадрам, что делает более реальными персонажей, в которых присутствует эффект «манекена» или элементы, для которых не созданы отдельные опорные кадры, например волосы, ткань или цепи, симулируемые без специальной анимации.
Пример анимации, основанной на физике, из шаблона проекта «Примеры ресурсов».
Анимация, основанная на физике, требует настройки физического ресурса для каждого персонажа, что позволит ему взаимодействовать с другими поверхностями, на которых настроено столкновение.
Для получения дополнительной информации ознакомьтесь со следующими разделами:
Наложенные регуляторы каркаса
Наложенные регуляторы каркаса — это система, которая использует регуляторы каркаса перед другими рабочими процессами без необходимости прописывания данных для редактирования персонажей, что может серьёзно нарушить весь рабочий процесс при внесении изменений. Контроллеры слоёв позволяют смешивать и накладывать друг на друга разные регуляторы каркаса в Sequencer, добавляя обратное вычисление в регулятор каркаса в реальном времени прямо в ролике в Sequencer. Раньше для редактирования анимации нужно было назначать регулятор каркаса для скелетной сетки в Sequencer, прописывать ключи и воспроизводить анимацию в реальном времени.
Для получения подробной информации ознакомьтесь с курсом Layered Control Rigs — Deep Dive (Наложенные регуляторы каркаса — подробная информация), который можно найти в EDC. Также вы можете загрузить проект Content Examples (Примеры ресурсов) из Fab. Уровень Animation_ControlRig включает несколько демо-роликов с наложенными регуляторами каркаса и примерами их использования.
Обратное вычисление для регулятора каркаса
Расчёт регуляторов каркаса выполняется несколькими способами, которые называются направлениями вычисления. Эти вычисления создаются в графе регулятора каркаса и разделяют логику каркаса на несколько направлений вычисления, или вычислителей, с помощью которых можно расширить входящие данные для каркаса. Это позволяет выполнять такие рабочие процессы, как совместное использование каркаса, прописывание анимации в элементах управления и отладка поведения.
Основное применение обратного вычисления заключается в прописывании последовательностей анимации в регуляторе каркаса для внесения дальнейших изменений в анимацию непосредственно в Unreal Engine. Обратное вычисление также пригодится для внесения уточняющих изменений в существующие анимации или данные захвата движения, которые были импортированы в движок, и последующем прописывании этих изменений.
Более подробную информацию см. в разделе Backwards Solve (Обратное вычисление) блока Solve Directions (Направления вычисления).
Плагин Animator Kit
Animator Kit — это плагин, который добавляет в проект удобные для работы с анимациями каркасы утилит и деформаторы. Этот функционал схож с добавлением регуляторов каркаса через Sequencer.
Чтобы включить этот плагин через главное меню, перейдите в Edit (Правка)> Plugins (Плагины) и найдите Animator Kit.
Этот плагин содержит следующие регуляторы каркаса, которые можно использовать в Sequencer:
Utility Rigs (Каркасы утилит):
BlendParent;
3Node;
ChainSim;
SingleCim;
SplinePath.
Деформаторы
Sculpt Deformer (Деформатор форм);
Lattice Deformer (Деформатор решётки) (2×2×2, 3×3×3 и 4×4×4);
Camera Space Lattice (Решётка пространства камеры).
Для получения подробной информации об использовании этого плагина и деформаторов см. раздел Getting Started with Deformers (Начало работы с деформаторами) обучающего курса EDC.
Дополнительные примечания в части анимирования в Unreal Engine
Корневое движение
В Unreal Engine персонажи состоят из множества компонентов, а управление перемещением часто осуществляется через Movement Components персонажа, поверх которых накладывается воспроизведение анимации для передачи визуальной обратной связи о движении. Анимация корневого движения может управлять перемещением персонажа с помощью данных анимации, чтобы обеспечить перемещение на уровне максимально близко к поверхности земли. Примеры анимаций, основанных на корневом движении: анимации, которые перемещают персонажа из его корневого (исходного) положения, например прыжки вперёд или назад, или выполнение сложных действий, таких как комбинация движений с мечом.
Подробнее см. в разделе Root Motion (Корневое движение).
Сжатие анимации
Это процесс преобразования данных анимации из ресурсов Animation Sequence (Последовательности анимации) с целью уменьшения общего размера файлов анимации и объёма расходуемой памяти. При использовании сжатия главным преимуществом является повышение производительности проекта, особенно при масштабировании проектов на нескольких платформах с различными техническими характеристиками. Использовать анимации с минимальным количеством перемещений выгоднее, чем анимации с большим количеством перемещений, поскольку в этом случае может серьёзно пострадать качество. Выбирайте тип сжатия исходя из того, какая потеря качества допустима для вашего проекта.
Подробнее см. в разделе Animation Compression (Сжатие анимации).
Live Link
Этот плагин предоставляет стандартный интерфейс для подгрузки и передачи данных анимации из внешних источников, таких как Maya, в Unreal Engine. Он позволяет редактировать анимации во внешнем источнике, одновременно предварительно просматривая свою работу в Unreal Engine в реальном времени. Подходит для систем и рабочих процессов захвата движений.
Подробнее см. в разделе Live Link.
Следующая страница
Использование внутриигровых видео и Sequencer в Unreal Engine для пользователей Maya
Обзор Sequencer — инструмента для создания внутриигровых видео — в Unreal Engine для пользователей Maya.