Моделируем 3D-персонажа для игры при помощи Midjourney

в 6:05, , рубрики: blender, midjourney, mixamo, point-and-click, unity, графический дизайн, Дизайн игр, инди-разработка, Работа с 3D-графикой, разработка игр
image

На примере любопытного небольшого прототипа я захотел проверить, сколько труда потребуется при использовании ИИ для создания максимально возможного количества графики 2,5D-игры в жанре point and click.

Было понятно, что искусственный интеллект без проблем справится с задниками, поскольку игра, фактически, остаётся по большей мере в 2D, но с персонажами ситуация чуть более сложная. Мне понадобится крайне быстрый конвейер работы, позволяющий использовать данные захвата движения, поэтому создание анимаций не окажется узким местом. Я должен был найти способ перенести сгенерированную ИИ графику в форму, которая приемлема для захвата движения.

Мне показалось, что лучше всего будет сгенерировать концепты персонажей при помощи ИИ, а затем смоделировать их в 3D.

Я работаю в игровой индустрии уже более двадцати лет, и в основном занимаюсь моделированием персонажей и фонов. Поэтому будет интересно проверить, позволит ли ИИ мне работать быстрее. И насколько?

Я планировал использовать персонажей только для общих планов камеры, так что возможное низкое качество или ошибочные детали не будут особой проблемой. Впрочем, технологии ИИ совершили долгий путь, и целостность артов стала намного выше, чем всего несколько месяцев назад.

Создание промпта

Я начал с того, что приказал ИИ (в данном прототипе это Midjourney, но чаще я пользуюсь Stable Diffusion) создать лист модели с изображениями персонажа под разными углами. Похожие листы используются в студиях анимации. Для моего проекта это будет хорошей опорной точкой.

Моделируем 3D-персонажа для игры при помощи Midjourney - 2

cyberpunk point and click adventure game character model sheet turnaround –v 4 –ar 3:2

Первый результат оказался очень многообещающим. Естественно, он мне не подходил, потому что был чёрно-белым, но такими и рисуют обычно листы моделей. Я попытаюсь не использовать в качестве референсов работы живых (или мёртвых) художников. Однако, работая с ИИ, невозможно отказаться от влияния множества разных художников. Поэтому мне приходилось лишь надеяться, что стиль будет очень размытым и не окажется слишком похожим на чьи-то конкретные работы.

Моделируем 3D-персонажа для игры при помощи Midjourney - 3

cyberpunk point and click adventure game character model sheet turnaround full color –v 4 –ar 3:2

Вторая попытка тоже была не блестящей. Однако это уже шаг в нужном направлении.

После ряда экспериментов я получил промпт, который создавал графику, которую я мог использовать в качестве основы для перехода к 3D:

Моделируем 3D-персонажа для игры при помощи Midjourney - 4

Моделируем 3D-персонажа для игры при помощи Midjourney - 5

Моделируем 3D-персонажа для игры при помощи Midjourney - 6

Моделируем 3D-персонажа для игры при помощи Midjourney - 7

Моделируем 3D-персонажа для игры при помощи Midjourney - 8

Моделируем 3D-персонажа для игры при помощи Midjourney - 9

Моделируем 3D-персонажа для игры при помощи Midjourney - 10

Моделируем 3D-персонажа для игры при помощи Midjourney - 11

Моделируем 3D-персонажа для игры при помощи Midjourney - 12

Моделируем 3D-персонажа для игры при помощи Midjourney - 13

Моделируем 3D-персонажа для игры при помощи Midjourney - 14

cyberpunk point and click adventure game character, full body, model sheet turnaround, full color, two thirds wiew, front::4 view and back view –v 4 –ar 3:2

Изображения имели на удивление хорошую согласованность под разными углами. Они вполне применимы для моделирования и проецирования текстур. Однако возникла серьёзная проблема: изображения имели разные ракурсы и часто генерировались под странными углами. Но у меня были мысли о том, как преодолеть эти проблемы.

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

Моделирование

Я выбрал созданное ИИ изображение с хорошим видом спереди и сбоку, но с проблемным видом сзади в три четверти. Мне придётся решить эту проблему и посмотреть, как она повлияет на результат. Можно ли вообще извлечь из этой графики текстуры для готовой модели?

Моделируем 3D-персонажа для игры при помощи Midjourney - 15

Моделируем 3D-персонажа для игры при помощи Midjourney - 16

Моделируем 3D-персонажа для игры при помощи Midjourney - 17

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

Моделируем 3D-персонажа для игры при помощи Midjourney - 18

Моделируем 3D-персонажа для игры при помощи Midjourney - 19

Чтобы решить эту проблему, я создал карты морфинга (morph map) для каждой проекции, сделав так, чтобы вид спереди, сбоку и сзади максимально близко соответствовали мешу.

Моделируем 3D-персонажа для игры при помощи Midjourney - 20

Передняя проекция

Моделируем 3D-персонажа для игры при помощи Midjourney - 21

Боковая проекция

Моделируем 3D-персонажа для игры при помощи Midjourney - 22

Задняя проекция в три четверти

Далее мне нужно было создать старую добрую UV-развёртку меша. Это долгий и монотонный процесс, но его нужно сделать правильно, чтобы упростить смешение текстур в Photoshop. После создания UV настало время спроецировать все изображения на UV при помощи соответствующих карт морфинга.

Моделируем 3D-персонажа для игры при помощи Midjourney - 23

Передняя проекция

Моделируем 3D-персонажа для игры при помощи Midjourney - 24

Боковая проекция

Моделируем 3D-персонажа для игры при помощи Midjourney - 25

Задняя проекция в три четверти

Моделируем 3D-персонажа для игры при помощи Midjourney - 26

Готовые скомбинированные текстуры с небольшими правками

Готовая модель

Модель завершена и готова к риггингу, для которого я использовал Mixamo. Раньше я не пользовался инструментами автоматического риггинга, но ради духа эффективности захотел проверить, позволят ли они мне ускорить процесс. Mixamo неплохо справился с риггингом персонажа, но мне нужно было слегка его подправить, и в особенности бороду.

Фоновое изображение

С задником всё было намного проще, поскольку его можно использовать как 2D-изображение, а не 3D-модель.

Моделируем 3D-персонажа для игры при помощи Midjourney - 27

cyberpunk point and click adventure game screenshot marketplace exterior –v 4 –ar 3:2

Несмотря на то, что изображение двухмерное, чтобы 3D-персонаж хорошо с ним сочетался, необходимо было проделать кое-какую работу. Во-первых, нужно было получить данные о камере с изображения. Я использовал бесплатный инструмент под названием fSpy для реверс-инжиниринга данных камеры.

Моделируем 3D-персонажа для игры при помощи Midjourney - 28

Изображение в fSpy

У fSpy есть плагин импорта для Blender, поэтому очень легко было перенести изображение и камеру в Blender для моделирования приблизительного описания локации.

Моделируем 3D-персонажа для игры при помощи Midjourney - 29

Локация в Blender

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

В Blender есть отличный инструмент для генерации UV из проекции камеры, поэтому он идеально подошёл для этого этапа, хотя мне и пришлось изучать его с нуля, ведь для меня он казался совершенно непривычным.

Соединяем всё вместе

Получив все фрагменты пазла, осталось лишь собрать их. Для этого я использовал Unity. Я создал простой аниматор для движения персонажа, изменил масштаб 3D-локации, чтобы он совпадал с масштабом персонажа, и добавил соответствующее сцене освещение, чтобы персонаж не сильно выделялся на её фоне.

Подробнее о смешении 3D и 2D можно прочитать здесь.

Заключение

Я потратил на создание 3D-ресурсов и скриптов Unity этого прототипа 18 часов. 12 часов на моделирование/UV/морфинг/текстуры/риггинг персонажа, 3 часа на камеру и меш локации, а остальное на скриптинг игры, не учитывая промпты ИИ.

По моим оценкам, ИИ сэкономил мне не менее двух дней на работу с персонажем и не менее трёх на работу с локацией.

Готовый результат ни в коем случае нельзя считать совершенным. Близкие кадры персонажа неидеальны. С локациями сложно проводить художественное руководство и они могут быть очень случайными. Но если вы смиритесь с недостатками ИИ и найдёте способ их обойти, то вполне можно создать полную игру, используя ИИ как своего помощника. Это совершенно точно позволяет разрабатывать игры, которые невозможно было бы сделать из-за ограничений бюджета или времени!

Автор:
PatientZero

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js