Импорт анимации Mixamo в The Sims 4
LazyElfiyko
Предисловие
На днях мне понадобились качественные анимационные позы для Симс 4, и после недолгих поисков я обнаружила, что многие креаторы научились адаптировать анимации с сайта Mixamo и других для Симс 4 и делают на этом деньги на бусти и патреоне. Окей, каждый зарабатывает чем может, но меня просто взбесило то, что в интернете не нашлось абсолютно ни одного туториала на эту тему. Единственный фрагмент был на Youtube, а его полная версия оказалась платной. Я потратила несколько часов на поиск информации, и сама научилась портировать анимации. Этими знаниями хочу поделиться с вами. Без регистрации и смс :)
Скорее всего, способ, описанный в данной статье, сработает и для других игр.
Что понадобится
- Конечно, сама игра The Sims 4 (у меня очень-очень древняя версия, потому что от игры мне нужны только персонажи, чтобы их портировать в Блендер).
- Sims 4 Studio.
- Blender (на данный момент у меня версия 4.1).
- Аддон для Blender Rokoko Studio Live.
- Файл sims4_bones_humanoid.json с названиями костей.
Сначала нужно всё подготовить. Скачайте и установите Blender (далее – Блендер), скачайте и установите Sims 4 Studio, в настройках программы укажите путь к установленному Блендеру. А также скачайте и установите плагин для Блендера Rokoko. Как устанавливать плагины, написано здесь, например.
Зайдите на сайт Mixamo. Зарегистрируйтесь там или войдите в свой аккаунт. Перейдите в раздел анимаций (обычно после входа в аккаунт сайт сразу перенаправляет туда).

Выберите в списке нужную вам анимацию, у меня это Treadmill Running (бег на беговой дорожке). Нажмите на оранжевую кнопку Download справа. Появится окно, в котором нужно выбрать следующие параметры:

В этом случае вы скачаете только скелет вместе с анимацией в формате FBX.
Если вам нужна не только анимация, но и модель Mixamo для каких-либо целей, тогда в строке Skin выберите пункт With Skin.
Перейдём к созданию игрового файла *.package. Запустите Sims 4 Studio. На домашнем экране под кнопкой Animation выберите пункт Clip Pack (обычно уже выбрано) и нажмите на кнопку Animation.

Введите название мода в строке Name и перейдите на вкладку Clips.

Здесь, на вкладке Clips введите название позы и экспортируйте пустой клип с нужным ригом (Rig), у меня это риг взрослой женщины, потому что я буду портировать женскую анимацию.

Сохраните файл *.blender в свою рабочую папку и откройте его в Блендере. Можно сделать это, дважды нажав по нему левой кнопкой мыши, либо из самого Блендера.

Вот так это выглядит после открытия файла:

Сразу же приступаем к импорту анимации, для этого перейдите в меню File – Import и выберите пункт FBX (.fbx).
Выберите скачанный файл FBX, но не спешите нажимать кнопку Import FBX, сначала нужно поставить галочку напротив одного важного пункта. В правой части окна разверните раздел Armature и установите галочку напротив Automatic Bone Orientation. Теперь можете нажать на кнопку Import FBX.

После импорта сцена будет выглядеть так:

Теперь импортированный скелет вместе с анимацией нужно поставить в позу покоя (Rest Position). Для этого в окне Outliner выделите объект Armature (обычно уже выделено после импорта). В окне Properties перейдите на вкладку Data, а затем нажмите на кнопку Rest Position.

Готово.

Не покидая вкладку Data, поставьте галочку напротив пункта In Front в разделе Viewport Display, так вы сможете видеть скелет Mixamo сквозь модель Симс 4.

Дальнейшая задача состоит в том, чтобы максимально подогнать позу симовского скелета к позе скелета Mixamo. Если этого не сделать и перенести анимацию сейчас с одного скелета на другой, то она перенесётся очень криво. Однако сначала нужно увеличить в размерах арматуру (Armature). Выберите её, находясь в режиме объекта (Object Mode), нажмите клавишу S и отмасштабируйте так, чтобы высота плеч арматуры совпала с высотой плеч рига из Симс 4. После масштабирования просто нажмите левую кнопку мыши для применения изменений.
Отмасштабированная Armature:

Теперь нужно поднять руки симовского скелета, чтобы их положение совпало с положением рук скелета Mixamo. Для этого в окне Outliner выберите Rig и перейдите в режим Pose Mode.

Сначала выделите кость одного плеча (*_UpperArm__) и нажмите клавишу R. НЕ ДВИГАЯ мышкой, зажмите клавишу Ctrl и только потом мышкой поднимите руку вверх, чтобы её положение совпало с положением руки скелета Mixamo. Когда будет готово, нажмите левую кнопку мышки и лишь затем отпустите клавишу Ctrl. Не наоборот.

То же самое проделайте со второй рукой.

Готово. Но пока что это просто поза, и чтобы сделать её позой покоя (Rest Pose), нужно закрепить симовский риг в таком положении. Сделать это очень просто, но особенность здесь заключается в том, что к ригу прикреплена модель сима, и если сейчас мы закрепим позу, то скелет примет новое положение, а вот модель тела вернётся к прежней позиции, то есть её руки опустятся. Чтобы закрепить сразу и скелет, и модель в новой позиции, нужно сделать следующее:
В окне Outliner нажмите на стрелку рядом с rig, в выпавшем списке объектов выберите меш top и в окне Properties перейдите на вкладку Modifiers.

Скопируйте название единственного модификатора в списке: geom_skin, оно понадобится в будущем.

Теперь примените этот модификатор, нажав на стрелку рядом со значком камеры и в выпавшем списке выбрав пункт Apply.

Когда модификатор применён, можно продолжить манипуляции с позой. Другие части тела трогать не нужно, потому что мы изменили позицию только рук, которые относятся к мешу top.
В окне Outliner выберите rig и перейдите в режим Pose Mode, если по какой-то причине Блендер переключился на другой режим. Затем нажмите клавишу A, чтобы выделить все кости симовского скелета. Они станут голубого цвета.

Далее нажмите сочетание клавиш Ctrl + A и в выпавшем меню выберите первый пункт: Apply Pose as Rest Pose.

Теперь нужно вернуть применённый модификатор обратно. Снова в окне Outliner выберите меш top и в окне Properties перейдите на вкладку Modifiers. Нажмите на кнопку Add Modifier. Затем в меню Deform выберите модификатор Armature.

Добавится модификатор с названием Armature, сотрите это название и вставьте скопированное ранее «geom_skin» (без кавычек). А в строке Object выберите rig.

Теперь так же, как и скелет Mixamo, симовский скелет нужно переключить в Rest Position. В окне Outliner выберите rig, перейдите на вкладку Data и нажмите на кнопку Rest Position.

А вот сейчас, пожалуй, будет один из самых сложных моментов. К сожалению, положение и размер костей скелета Mixamo всё ещё отличается от костей скелета Симс 4. Наибольшая проблема связана с костью таза и первой костью спины. Они находятся значительно выше симовских костей и если перенести анимацию на данном этапе, то тело сима в районе таза очень некрасиво вытянется. Так что придётся отмасштабировать и переместить некоторые кости скелета Mixamo.
В окне Outliner выберите Armature и перейдите в режиме Edit Mode.

Сначала выберите кость таза (mixamorig:Hips), а затем, зажав клавишу Ctrl, выберите кость спины (mixamorig:Spine), которая находится выше кости таза.

Нажмите клавишу S и уменьшите размер этих двух костей в несколько раз, чтобы кость таза оказалась выше пупка.

Теперь нужно опустить эти кости на то же место, где находятся кости таза и спины симовского скелета. Для этого нажмите клавишу G, НЕ ДВИГАЯ мышкой, нажмите колёсико мышки и лишь затем мышкой опустите кости вниз.

Повторюсь, самая большая проблема именно в несовпадении костей таза и спины, но если вы перфекционист, то можете получше отмасштабировать и переместить другие кости по такому же принципу.
Итак, кости подогнаны, оба скелета находятся в Rest Position. Подготовка завершена, переходим к переносу анимации.
Нажмите на стрелку слева от окна Outliner.

В появившемся окне перейдите на вкладку Rokoko (если этой вкладки нет, значит, вы не активировали аддон Rokoko Studio Live). Сперва нужно войти в свой аккаунт Rokoko или зарегистрироваться на этом сайте. В любом случае нажмите кнопку Sign in to Rokoko.

Вас автоматически перебросит в браузер. После того, как вы войдёте в свой аккаунт, вход также выполнится и в самом Блендере. Разверните раздел Retargeting.

Нажмите по полю Source и выберите скелет Mixamo (Armature), а в поле Target – скелет из Симс 4 (rig).

Следующим шагом должно стать нажатие на кнопку Build Bone List, НО НЕ СПЕШИТЕ ЭТОГО ДЕЛАТЬ! В норме после нажатия на эту кнопку аддон Rokoko анализирует кости обоих скелетов и сопоставляет их друг с другом по названию. То есть кость левого бедра к кости левого бедра и т.д. На деле же у меня кости вообще никак не сопоставились, и все поля остались пустыми. Поэтому я всё сопоставила вручную и сохранила результат. Чтобы вам не пришлось делать то же самое, я приложила ссылку на файл в начале статьи, импортировав который, все кости гарантированно правильно сопоставятся друг с другом.
Нажмите на кнопку Import под словами Custom Naming Schemes:

И укажите путь к сохранённому файлу sims4_bones_humanoid.json. Импортируйте его. Теперь нажмите на кнопку Save рядом с кнопкой Import. Этим действием вы сохраните в памяти аддона названия костей, чтобы не нужно было каждый раз импортировать мой файл. После можно с уверенностью нажать на кнопку Build Bone List.

Кости сопоставились правильно, пустых полей нет, можно приступать к переносу анимации. Опуститесь чуть ниже в этом окне и найдите кнопку Retarget Animation, нажмите на неё.

Через пару секунд всё будет готово.

Теперь в окне Outliner нажмите правой кнопкой мышки по арматуре Mixamo (Armature) и удалите её, она больше не нужна.

После найдите окно Timeline, оно находится внизу программы. Сейчас нужно задать правильное количество кадров. По умолчанию здесь указан один кадр, что подходит для статичных поз, но совершенно не подходит для анимационных. У моей анимации аж целых 237 кадров, поэтому в поле End я вписываю это число. Вы, конечно же, должны вписать своё.

Поле Start трогать не нужно, там должен остаться 0. В общем-то, работа в Блендере закончена. Сохраните сцену (файл *.blender) через меню File – Save, либо сочетанием клавиш Ctrl + S. Закройте Блендер.
Вернитесь к программе Sims 4 Studio. Откройте свой файл *.package с будущими позами, если вы закрывали его. Перейдите на вкладку Clips и импортируйте анимацию из файла *.blender.

Подождите какое-то время, затем нажмите на кнопку Save внизу. Готово! Сохранённый файл *.package переместите в папку Mods (…Документы\Electronic Arts\The Sims 4\) и наслаждайтесь результатом в игре.
Также эти позы можно использовать не только в игре, но и в ваших сценах в Блендере.
Удачи!