Я уже писал про инструментарий для Motion Capture в Blender. Сегодня хочу продолжить эту тему рассказом про простые способы создания модели человека в Blender. Впрочем, эти способы пригодятся далеко не только для Motion Capture. Полученная модель будет с готовым для анимации ригом, и даже с набором готовых анимаций.

Варианты создания модели человека с ригом в Blender
Прежде, чем перейти к самому простому и быстрому способу, перечислю, какие еще могут быть способы создания модели человека в Blender.
Ручное моделирование человека в Blender
Самый простой и очевидный способ — это отмоделировать человека вручную. К сожалению, это еще и самый долгий способ. На Ютубе хватает уроков по подобному моделированию, поэтому подробно останавливаться на этом способе не буду. Скажу лишь, что можно облегчить себе задачу, используя готовые модели в качестве основы моделирования. На этапе риггинга тоже можно упростить задачу, не создавая скелет с нуля, а используя для этих целей замечательный плагин «rigify» (входит в стандартную поставку Blender, в том числе в версии 2.8). При помощи Rigify вы сможете создать риг буквально в один клик. Опять же, на Ютубе уйма роликов по поводу того, как привязать созданный риг к мешу. Обычно автоматическая привязка весов работает достаточно качественно, иногда может понадобиться легкая доработка.

Использование программы MakeHuman
MakeHuman — это свободное ПО для создания модели человека. Когда-то все начиналось с аддона к Blender, но сегодня это самостоятельная программа. Интерфейс достаточно удобный, но до удобства нижеописанного Fuse ему далеко конечно. Модель человека на выходе получается довольно качественной, есть возможность выбрать между несколькими вариантами топологии меша, а также между несколькими вариантами рига (более простого для игровых движков и более детального для продвинутой анимации). Здесь также имеются некоторые приятные дополнения, например — неплохая библиотека поз.
Но… Дальше все упирается в создание одежды для персонажа. В комплекте по умолчанию идет несколько одежек, но они больше подходят для демонстрации возможностей, чем для реального использования. Есть еще правда библиотека одежды, созданной в свободном комьюнити, но это какой-то треш и позор, даже говорить не о чем. Можно создавать одежду для моделей в Blender, а затем импортировать ее обратно в MakeHuman, для этих целей даже создали специальные аддоны для Blender. И снова но… Это дикая боль. Мало того, что процесс моделирования и текстурирования одежды сам по себе — довольно трудоемкая операция, так еще и работа с упомянутыми аддонами далека от идеала удобства и интуитивной понятности. Даже если вы купите или найдете бесплатные готовые модели одежды, натянуть их на модель человека в MakeHuman — тот еще квест. Кстати, ровно та же беда с прическами. Короче, быстро сделать качественную готовую модель здесь не получится (если вы конечно не работаете над очередным изданием Камасутры, для которой одежда не нужна).
Использование аддона MB-Lab для Blender
Раньше этот плагин назывался «Manuel Bastioni Lab», но, как часто бывает с открытым ПО, в какой-то момент автор потерял интерес к своему творению и забросил его (задолго до выхода Blender 2.8). К счастью, свободное сообщество подхватило эту инициативу и продолжило разработку, и вот мы имеем аддон с обновленным названием «MB-Lab», который прекрасно работает в Blender 2.8. Тут нужно сказать, что принципы работы и получаемый в результат нравятся мне еще больше, чем после работы с MakeHuman. То есть если вы работаете в Blender, то о последнем вполне можно забыть в пользу MB-Lab.

Но… И снова это ужасное «но», которое портит всё. Причем здесь неприятность ровно та же, что и в предыдущем случае — аддон создает великолепные модели обнаженных людей, но одевать их вам придется своими силами. Это конечно возможно, и имеет смысл в серьезных проектах.
Но если вы хотите получить быстрый результат, тогда стоит взглянуть на другие решения, например на Adobe Fuse, которому я хочу посвятить остаток статьи.
Быстрое создание модели человека в Adobe Fuse и последующий экспорт в Blender
Adobe Fuse — это программа для быстрого создания качественных моделей людей с возможностью их последующей анимации. Как и все продукты от Adobe, эта программа имеет версии под Windows и MacOS, но не под Linux. Но при этом имеется бесплатная Steam-версия, которая замечательно работает посредством Proton-а. Думаю, та же версия будет работать и через обычный Wine.
Скриншоты Fuse:
Порядок действий:
- В Adobe Fuse создается качественная модель человека. Причем здесь мы имеем возможность кастомизировать все, что угодно, включая одежду. В отличие от неудобных и неочевидных движков в MakeHuman, в Fuse можно визуально и наглядно создавать модель человека. Например, если вы хотите увеличить длину носа — вы просто хватаете модель за нос и тянете. Да, всё настолько просто. Модель на выходе можно сохранить в формате «obj» и сразу импортировать в Blender, однако результат будет не без проблем, и самое гравное — без рига. Но это не проблема, потому что наилучший путь, это не производить сразу экспорт в Blender, а…
- Полученную модель нажатием одной кнопки в Fuse можно экспортировать в Mixamo. Если кто не в курсе, это еще один сервис от Adobe (бесплатный), который позволяет создавать скелет и анимацию для модели человека. Это веб-сервис, поэтому работает он на любой операционке. Для работы требуется иметь Adobe ID (то есть аккаунт в Adobe), но его можно зарегистрировать бесплатно в течение минуты. В Mixamo можно выбрать один из предложенных типов рига, а также при желании сразу подобрать необходимые позы и анимации.
- Из Mixamo сохраняется приемлемый для Blender формат с ригом. Здесь есть несколько подходящих для Blender форматов. Например, хорошо себя зарекомендовала Collada.
- Открываем полученную модель с ригом в Blender и делаем с ней все, что захотим.
- Profit!
Скриншоты Mixamo:
Если не боитесь английского, то вот хороший ролик с подробностями о том, как провернуть всю эту последовательность (в ролике используется Blender 2.79, однако для Blender 2.8 отличий практически нет):
Все бы хорошо, но и здесь нашлась ложка дегтя. Описанный выше способ прекрасно работал до недавних пор, но сейчас (на момент написания статьи) на втором шаге при попытке отправить модель в Mixamo из стимовской версии Fuse вы получите сообщение, что версия Fuse устарела (в Steam доступна Fuse 1.3) и с ней Mixamo работать не умеет. То есть скелет создавать не хочет. Предлагается скачать новую версию Fuse, которая уже требует адобовской платной подписки, насколько я понял из негативных отзывов на странице Fuse в Стиме.
Но здесь есть обходной путь. Нужно сохранить вручную obj-файл из стимовской версии Fuse, и этот obj загрузить вручную на Mixamo. После этого там предложат обозначить ключевые точки модели (локти, колени, таз и т.п.), и автоматически создадут скелет. Результат довольно качественный, проверено на собственном опыте. То есть способ вполне рабочий.
На этом все. Пробуйте, и не забывайте делиться опытом в комментариях.
Выглядит суперпривлекательно! Однако. Статье больше года. Используете ли вы, автор, приведенные в ней рекомендации по быстрому созданию одетых персонажей по-прежнему? Хочу опробовать этот способ, но вдруг за это время появились средства, позволяющие весь описанный «конвейер» воспроизвести более просто (и также бесплатно), средствами одного блендера, например, с аддонами; облачного какого-нибудь сервиса?
К сожалению, я за это время не нашел более простых способов создания персонажей и одежды для них. Если вдруг найдете способы получше — пожалуйста, поделитесь ими здесь в комментариях, буду очень благодарен.
Fuse — отличная вещь! Попользовался и понял, что вряд ли что-то лучше и проще найду, чем парочку Fuse+Mixamo 🙂 Жаль только, что не генерируются ключи формы (Shape Keys) — придется мимику самостоятельно добавлять.
P.S. Я сам при сохранении из Mixamo выбираю fbx, но если вы решите последовать примеру автора и сохраните в dae (Collada), то во время импорта в Блендер отметьте три чек-бокса Fix Leaf Bones, Find Bone Chains, Auto Connect.
Спасибо большое, что поделились опытом 🙂
Путь экспорта из фьюза должен быть весь на англ, если на рус то он будет пустой файл сохранять.