image

На примере любопытного небольшого прототипа я захотел проверить, сколько труда потребуется при использовании ИИ для создания максимально возможного количества графики 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)


  1. idelgujin
    00.00.0000 00:00
    +1

    Ещё немного, и нейросети будут генерировать 3D миры, объекты и их анимацию. Ставлю на то, что до 2030 года нейросеть сделает свою игру по описанию.


    1. LeXaNe
      00.00.0000 00:00
      +8

      И тогда, наконец-то, в играх от нейросети можно будет грабить корованы ))


      1. pda0
        00.00.0000 00:00
        +9

        Джвадцать лет ждал!


        1. Rskeldi
          00.00.0000 00:00
          +1

          в Азкабане?


    1. raamid
      00.00.0000 00:00
      +2

      И школьников будут заставлять проходить Войну и Мир :)


      1. 77778888
        00.00.0000 00:00

        c полным погружением причем, а потом и афганскую с финальным квестом штурмовать босс-локэйшн


    1. Wotar
      00.00.0000 00:00
      -1

      ? "Вони вже можуть в ВЕЛИКУ гру, по опису", еще в прошлом году. Но, свои фишки раскрою в статье, когда придет время финансировать какой нить Залив на Стим, и подбрасывать уголек в сарафанное радио.


  1. slammed
    00.00.0000 00:00

    Видя такие надписи, я вспомнил «дверь мне запили!» Если надписи в отдельных скринах игры будут на таком же нейросетевом диалекте клингонского, то мне интересен нейминг локаций и объектов — не для внутренней логики, а для игрока. Paicktpra... — my favorite store! Сильно...

    Кстати, в заголовке, имхо, ошибка. Моделинг с развёрткой и текстурирование сделаны в Modo.


  1. sBroker
    00.00.0000 00:00

    А правильно я понял, что в modo ручками создавался персонаж с turnaround-скетчей? И нет ли такого инструмента, чтоб по паре-тройке проекций 2D "вжух!" и пусть корявенькое но 3D чтоб скульптинг первоначальный со скетча пропустить и уже доводкой и детализацией заниматься? До определенной степени работа механическая же.


    1. slammed
      00.00.0000 00:00

      Я именно про Modo и дописал в своём комменте выше. Сегодня смотрел как ChatGPT создавал куб в Blender. Куб-то, ясен пень, создаст даже AI. И даже его подвигает в стороны. И даже скрипты напишет. Но куб и другие примитивы поддаются (худо-бедно) математике, а вот с «кастомной» фигурой что? Шышь съешь... (с)


      1. sBroker
        00.00.0000 00:00

        Ну когда-то (вообще говоря совсем недавно) очень слабо верилось, что с 2D будет что-то путное и нейросетки научатся достойно "рисовать" - вполне допускаю, что и без нейронок с согласующихся картинок фас/профиль можно что-то поиметь на эвристиках в трехмерном виде уже сейчас, вот и интересуюсь может есть какие-то инструменты (плагин для modo, например) и я чего-то не знаю...


        1. slammed
          00.00.0000 00:00

          Не поймите меня неправильно, но я пока не видел ничего путного даже в 2D. И я не думаю, что мои требования какие-то слишком завышенные. Обработку той туфты, которую сеть нагенерила автору в виде скетчей, а именно перерисовку текстур для развёртки, и, думаю, сперва подгонку самой развёртки, здесь пропустили. Если посмотреть другие видосы, где моделится и текстурится робот для этой игры, там в таймлапсе хорошо видно, что текстура перерисовывается очень сильно. Вообще, изначально делается не так - сначала хайполи, потом упрощение с запечёнными картами нормалей, окклюжена и теней. И тут процесс похож на подгонку условий задачи под готовый ответ. А ответ (текстура, взятая из проекции - скетча), весьма далёк от того, как запеклись бы тени, например. Когда знаешь технологию — легко отличаешь подделку :)


    1. Satou
      00.00.0000 00:00

  1. AlexBombey
    00.00.0000 00:00

    Добрый день.Получается нейросеть сделал 3D референс, но в MODO вы уже сами модель создали по референсу ?


  1. RiSilver
    00.00.0000 00:00

    А вы не могли бы перезалить картинки на другой хостинг? А то на текущем они не открываются.


    1. PatientZero Автор
      00.00.0000 00:00

      Оригинал статьи переехал на другой хостинг, поэтому картинки пропали. Спасибо, исправил.