Modular Rig в UnrealEngine, проблемы и их решения

Хочу заметить сразу, что модулярный риг пока очень сырой, и нужно прям знать все моменты, чтобы смочь его использовать в продакшене, и то на свой страх и риск)

Документация

Первая и основная проблема - это неправильная ориентация костей, для исправления этого вам нужно активировать плагин Skeletal Mesh Editing Tools

2024-09-19_11-17-18.png

Я буду разбирать процесс на примере создания рига для вот такого дракоши

2024-09-19_11-18-43.png

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

2024-09-19_12-19-21.png

Сперва наперво добавляем сокеты для плеч, если названия костей отличаются от стандартного скелета UE5, так ключицы подхватятся верно. Назовем их как у скелета UE5. Можно добавить также сокеты и для бёдер, если они не будут верно подхватываться.

2024-09-19_11-44-16.png

После добавляем модуль спины - Spine и два модуля Shoulder, для правой и левой ключицы. Размеры и положение контроллов можно менять в Details модуля

2024-09-19_12-30-26.png

Дальше добавляем модули ног.

2024-09-19_13-33-12.png

Скорее всего при переключении IKFk колени у вас будут гулять или вообще выворачиваться. Это потому что анриал не знает как ему правильно простроить пол вектор. Чтобы изменить эту ситуацию, делаем двойной клик на модуле Arm и в открывшемся блюпринте в поиске вбиваем Compute и жмем Enter. Выбираем 2 ноды ComputePoleVector и ставим в них галочку у Draw Transform, после нажимаем сейв. Эти функции одинаковые в руках и ногах, поэтому эти изменения отразятся на ногах так же. После этого ноги скорее всего заработают верно, если нет, то нужно вручную поиграть с изменением ориентации в Edit Skeleton у цепочек для конкретной ноги, которую крутит.

2024-09-19_13-35-59.png

2024-09-19_13-41-47.png

Расстояние пол вектора от ноги и размер контроллера изменяется в Details соответствующего модуля.

2024-09-19_13-46-47.png

Далее в иерархию Leg добавляем модуль Foot, тут в зависимости от конструкции ноги можно по разному поиграть с назначением костей на Ball Foot Bone. В моем случае я выбрал, что за ИК я кручу всей ногой, за квадратный контрол ниже я управляю сгибом в этом суставе и суставом выше, с фиксацией стопы, а за контрол стрелочки я могу крутить стопой отдельно.

2024-09-19_14-09-11.png

Для добавления пальцев, необходимо добавить соккеты к концевым костям пальцев. Выбрать необходимый парент и увеличить размер контроллов. Если возникают трудности с определением парента и пальцы ведут себя неверно при смещении какого либо из контролов ноги, можно считерить и добавить контрол на конкретную кость через Rig Hierarchy и потом её сделать парентом. Собственно я так и поступил, те модули пальцев не нужно добавлять в иерархию ноги.

2024-09-19_16-16-06.png

Тоже самое проделываем для противоположной стороны. В результате ноги IKFK с когтями готовы.

2024-09-19_20-32-26.png

Теперь заригаем хвост, с возможностью включения динамики на нем. Добавляем сокет в первую кость хвоста, добавляем модуль хвоста в спину. Динамика активируется галочкой в настройках модуля.2024-09-19_20-40-30.png

Переходим к рукам. Плечи - ключицы мы уже настроили, теперь добавляем в них модуль Arm. В принципе тут все по аналогии с ногами. Если возникают проблемы со скручиванием при IKFK свитче, нужно поиграть с ориентацией костей рук в скелете. Например в моем случае предплечье на правой руке никак не хотело вставать правильно и ориентация вот с такими параметрами исправила ситуацию.

2024-09-20_11-29-13.png

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

Следующий модуль - Neck. Перемещаем его в Spine.

2024-09-20_12-01-08.png

Для того чтобы заригать челюсть, добавляем к кости челюсти сокет и тянем на этот сокет модуль AddControl. переносим его в иерархии под модуль Neck, чтобы выбрать парентом Head.

2024-09-20_12-03-16.png

2024-09-20_12-10-52.png

Итак у нас остались только крылья. Я их заригаю с помощью модулей Arm и Finger. По аналогии как мы делали с руками. Добавляем необходимые сокеты, перетаскиваем в них модули, корректируем ориентацию при необходимости, проверяя на свитче IKFK, добавляем пальцы. Настройки IKFK свитча лучше вынести в хип контрол или контрол груди, чтобы не путаться с ними в глобальном контролле, если не переименовывать модуль и поставить его в глобальный контрол то один свитч будет одновременно переключать и руку и крыло.

2024-09-20_12-26-20.png

2024-09-20_12-33-17.png

Казалось бы риг готов.

2024-09-21_22-41-49.png

Но есть одно большое НО, прям огромное. ХЗ как ЭПИКИ выпустили систему в таком виде. Если вы будете запекать анимацию со скелета на свой модульный риг, даже если он на скелете UE5, у вас расползутся плечи, а если это нестандартный скелет с разными конечностями, то скорее всего много что расползется. Будем ждать обновлений и исправлений, а пока есть костыльные способы исправления в ручном режиме этих моментов.

755 0 850 2
0
RENDER.RU