
На примере любопытного небольшого прототипа я захотел проверить, сколько труда потребуется при использовании ИИ для создания максимально возможного количества графики 2,5D-игры в жанре point and click.
Было понятно, что искусственный интеллект без проблем справится с задниками, поскольку игра, фактически, остаётся по большей мере в 2D, но с персонажами ситуация чуть более сложная. Мне понадобится крайне быстрый конвейер работы, позволяющий использовать данные захвата движения, поэтому создание анимаций не окажется узким местом. Я должен был найти способ перенести сгенерированную ИИ графику в форму, которая приемлема для захвата движения.
Мне показалось, что лучше всего будет сгенерировать концепты персонажей при помощи ИИ, а затем смоделировать их в 3D.
Я работаю в игровой индустрии уже более двадцати лет, и в основном занимаюсь моделированием персонажей и фонов. Поэтому будет интересно проверить, позволит ли ИИ мне работать быстрее. И насколько?
Я планировал использовать персонажей только для общих планов камеры, так что возможное низкое качество или ошибочные детали не будут особой проблемой. Впрочем, технологии ИИ совершили долгий путь, и целостность артов стала намного выше, чем всего несколько месяцев назад.
Создание промпта
Я начал с того, что приказал ИИ (в данном прототипе это Midjourney, но чаще я пользуюсь Stable Diffusion) создать лист модели с изображениями персонажа под разными углами. Похожие листы используются в студиях анимации. Для моего проекта это будет хорошей опорной точкой.

cyberpunk point and click adventure game character model sheet turnaround –v 4 –ar 3:2
Первый результат оказался очень многообещающим. Естественно, он мне не подходил, потому что был чёрно-белым, но такими и рисуют обычно листы моделей. Я попытаюсь не использовать в качестве референсов работы живых (или мёртвых) художников. Однако, работая с ИИ, невозможно отказаться от влияния множества разных художников. Поэтому мне приходилось лишь надеяться, что стиль будет очень размытым и не окажется слишком похожим на чьи-то конкретные работы.

cyberpunk point and click adventure game character model sheet turnaround full color –v 4 –ar 3:2
Вторая попытка тоже была не блестящей. Однако это уже шаг в нужном направлении.
После ряда экспериментов я получил промпт, который создавал графику, которую я мог использовать в качестве основы для перехода к 3D:










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
Изображения имели на удивление хорошую согласованность под разными углами. Они вполне применимы для моделирования и проецирования текстур. Однако возникла серьёзная проблема: изображения имели разные ракурсы и часто генерировались под странными углами. Но у меня были мысли о том, как преодолеть эти проблемы.
Так как эти изображения созданы ИИ, никто не может заявить на них авторские права. Таков «контракт», который вы подписываете, работая с ИИ в настоящий момент. Их свободно может использовать кто угодно, поскольку воссоздать эти изображения крайне просто. По крайней мере, такое впечатление у меня сложилось об ИИ-графике.
Моделирование
Я выбрал созданное ИИ изображение с хорошим видом спереди и сбоку, но с проблемным видом сзади в три четверти. Мне придётся решить эту проблему и посмотреть, как она повлияет на результат. Можно ли вообще извлечь из этой графики текстуры для готовой модели?



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


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

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

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

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

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

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

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

Готовые скомбинированные текстуры с небольшими правками
Готовая модель
Модель завершена и готова к риггингу, для которого я использовал Mixamo. Раньше я не пользовался инструментами автоматического риггинга, но ради духа эффективности захотел проверить, позволят ли они мне ускорить процесс. Mixamo неплохо справился с риггингом персонажа, но мне нужно было слегка его подправить, и в особенности бороду.
Фоновое изображение
С задником всё было намного проще, поскольку его можно использовать как 2D-изображение, а не 3D-модель.

cyberpunk point and click adventure game screenshot marketplace exterior –v 4 –ar 3:2
Несмотря на то, что изображение двухмерное, чтобы 3D-персонаж хорошо с ним сочетался, необходимо было проделать кое-какую работу. Во-первых, нужно было получить данные о камере с изображения. Я использовал бесплатный инструмент под названием fSpy для реверс-инжиниринга данных камеры.

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

Локация в Blender
3D-версия локации необходима, чтобы изображение соответствовало изменению ракурса персонажа и чтобы он мог проходить за объектами. Также она полезна для расстановки освещения в 3D-пространстве и создания теней относительно местоположения персонажа.
В Blender есть отличный инструмент для генерации UV из проекции камеры, поэтому он идеально подошёл для этого этапа, хотя мне и пришлось изучать его с нуля, ведь для меня он казался совершенно непривычным.
Соединяем всё вместе
Получив все фрагменты пазла, осталось лишь собрать их. Для этого я использовал Unity. Я создал простой аниматор для движения персонажа, изменил масштаб 3D-локации, чтобы он совпадал с масштабом персонажа, и добавил соответствующее сцене освещение, чтобы персонаж не сильно выделялся на её фоне.
Подробнее о смешении 3D и 2D можно прочитать здесь.
Заключение
Я потратил на создание 3D-ресурсов и скриптов Unity этого прототипа 18 часов. 12 часов на моделирование/UV/морфинг/текстуры/риггинг персонажа, 3 часа на камеру и меш локации, а остальное на скриптинг игры, не учитывая промпты ИИ.
По моим оценкам, ИИ сэкономил мне не менее двух дней на работу с персонажем и не менее трёх на работу с локацией.
Готовый результат ни в коем случае нельзя считать совершенным. Близкие кадры персонажа неидеальны. С локациями сложно проводить художественное руководство и они могут быть очень случайными. Но если вы смиритесь с недостатками ИИ и найдёте способ их обойти, то вполне можно создать полную игру, используя ИИ как своего помощника. Это совершенно точно позволяет разрабатывать игры, которые невозможно было бы сделать из-за ограничений бюджета или времени!
Комментарии (16)
slammed
00.00.0000 00:00Видя такие надписи, я вспомнил «дверь мне запили!» Если надписи в отдельных скринах игры будут на таком же нейросетевом диалекте клингонского, то мне интересен нейминг локаций и объектов — не для внутренней логики, а для игрока. Paicktpra... — my favorite store! Сильно...
Кстати, в заголовке, имхо, ошибка. Моделинг с развёрткой и текстурирование сделаны в Modo.
sBroker
00.00.0000 00:00А правильно я понял, что в modo ручками создавался персонаж с turnaround-скетчей? И нет ли такого инструмента, чтоб по паре-тройке проекций 2D "вжух!" и пусть корявенькое но 3D чтоб скульптинг первоначальный со скетча пропустить и уже доводкой и детализацией заниматься? До определенной степени работа механическая же.
slammed
00.00.0000 00:00Я именно про Modo и дописал в своём комменте выше. Сегодня смотрел как ChatGPT создавал куб в Blender. Куб-то, ясен пень, создаст даже AI. И даже его подвигает в стороны. И даже скрипты напишет. Но куб и другие примитивы поддаются (худо-бедно) математике, а вот с «кастомной» фигурой что? Шышь съешь... (с)
sBroker
00.00.0000 00:00Ну когда-то (вообще говоря совсем недавно) очень слабо верилось, что с 2D будет что-то путное и нейросетки научатся достойно "рисовать" - вполне допускаю, что и без нейронок с согласующихся картинок фас/профиль можно что-то поиметь на эвристиках в трехмерном виде уже сейчас, вот и интересуюсь может есть какие-то инструменты (плагин для modo, например) и я чего-то не знаю...
slammed
00.00.0000 00:00Не поймите меня неправильно, но я пока не видел ничего путного даже в 2D. И я не думаю, что мои требования какие-то слишком завышенные. Обработку той туфты, которую сеть нагенерила автору в виде скетчей, а именно перерисовку текстур для развёртки, и, думаю, сперва подгонку самой развёртки, здесь пропустили. Если посмотреть другие видосы, где моделится и текстурится робот для этой игры, там в таймлапсе хорошо видно, что текстура перерисовывается очень сильно. Вообще, изначально делается не так - сначала хайполи, потом упрощение с запечёнными картами нормалей, окклюжена и теней. И тут процесс похож на подгонку условий задачи под готовый ответ. А ответ (текстура, взятая из проекции - скетча), весьма далёк от того, как запеклись бы тени, например. Когда знаешь технологию — легко отличаешь подделку :)
AlexBombey
00.00.0000 00:00Добрый день.Получается нейросеть сделал 3D референс, но в MODO вы уже сами модель создали по референсу ?
RiSilver
00.00.0000 00:00А вы не могли бы перезалить картинки на другой хостинг? А то на текущем они не открываются.
PatientZero Автор
00.00.0000 00:00Оригинал статьи переехал на другой хостинг, поэтому картинки пропали. Спасибо, исправил.
idelgujin
Ещё немного, и нейросети будут генерировать 3D миры, объекты и их анимацию. Ставлю на то, что до 2030 года нейросеть сделает свою игру по описанию.
LeXaNe
И тогда, наконец-то, в играх от нейросети можно будет грабить корованы ))
pda0
Джвадцать лет ждал!
Rskeldi
в Азкабане?
raamid
И школьников будут заставлять проходить Войну и Мир :)
77778888
c полным погружением причем, а потом и афганскую с финальным квестом штурмовать босс-локэйшн
Wotar
? "Вони вже можуть в ВЕЛИКУ гру, по опису", еще в прошлом году. Но, свои фишки раскрою в статье, когда придет время финансировать какой нить Залив на Стим, и подбрасывать уголек в сарафанное радио.