Написать пост

Нейросети простыми словами: как они применяются в разработке игр

Аватарка пользователя Alexey Pechenin

Рассказали, как инструменты на базе нейросетей работают и помогают разработчикам игр как с рутинными, так и с комплексными задачами.

Обложка поста Нейросети простыми словами: как они применяются            в разработке игр

Сегодня нейросети – это неотъемлемая часть современной игровой индустрии. Они облегчают жизнь художникам, программистам и даже гейм-дизайнерам. В этой статье я хотел бы рассказать о том, как инструменты на базе искусственного интеллекта работают и помогают разработчикам игр как с рутинными, так и с комплексными задачами.

Автор: Алексей Печенин, founder компании в сфере co-development по разработке мобильных и компьютерных игр, Infinite Art Solutions.

Арт из шума: Stable Diffusion и Midjourney

Рассказ об инструментах я хотел бы начать с того, что уже плотно вошло в наш инструментарий, как аутсорс-студии по разработки игр. Конечно, это всевозможные генераторы изображений по типу Midjourney и Stable Diffusion.

Главное отличие Stable Diffusion от Midjourney в том, что у модели открытый исходный код, доступный всем пользователям без каких-либо ограничений. А это значит, что его можно обучить под потребности клиента, взяв за основу уже разработанный стиль игры. Это определенно помогает нам в создании иллюстраций, дизайне объектов и многом другом.

Stable Diffusion заточен под четкое следование запросу, в отличие от Midjourney. Но у второй модели тоже есть свои плюсы. Например, она невероятно креативна и помогает художникам с концепт-артами. Также мы ее используем для создания массы иконок для приложений, чтобы протестировать их на CTR (отношение числа кликов к числу показов).

Нейросети простыми словами: как они применяются            в разработке игр 1

Люди часто ошибаются, думая, что Midjourney и Stable Diffusion работают по принципу фотобаша. Такие модели не берут за основу определенный арт по запросу, добавляя на него, как на коллаж, другие элементы. Это диффузионные модели, превращающие случайный шум в картины.

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

Вы можете в этом убедиться, пока смотрите на процесс работы Midjourney. Например, вы даете такой запрос в Midjourney, Stable Diffusion или в любую другую диффузионную модель: “белая кошка в космическом костюме со скафандром”. Работа модели начинается со случайного шума, похожего на ТВ-помехи. На этом этапе изображение не улавливается.

Нейросети простыми словами: как они применяются            в разработке игр 2

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

Именно поэтому нужно ждать пару минут, пока не будет готово изображение. Если модель прервать, она отдаст вам шумное изображение как итог.

Решение для генерации текстур

Польза для 2D-художников ясна, а как нейросети могут помочь сделать ААА-игру с хорошей графикой и высокодетализированными текстурами? К счастью такие инструменты уже есть, но пока что они только входят в пайплайн современных студий. Технология еще развивается, но она уже способна генерировать бесшовные 4К текстуры.

Самый популярный сейчас инструмент – Poly. Он отлично работает в связке с Substance Painter и Blender.

Poly помогает художникам генерировать текстуры высокого качества по заданному промпту или изображению. На сайте собрана большая библиотека уже сгенерированных ИИ текстур в разрешении до 4K.

Для генерации внутри Poly доступен инструмент Quick Generate. Пользователь должен задать тип текстуры и указать размер. Например, задаем промпт “Dark black tire texture like a new one in high resolution” и выбираем разрешение 4096px ✕ 4096px. Результат на картинке ниже.

Нейросети простыми словами: как они применяются            в разработке игр 3

Далее можно воспользоваться инструментом Generate PBR Maps. Он позволяет автоматически создавать карты PBR из сгенерированных текстур. На выходе их будет четыре: Base Color Map, Normal Map, Roughness Map и Metallic Map.

Как это работает:

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

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

Как нейросети помогают оживить персонажа

Для создания уникальных анимаций разработчикам часто приходится выбирать между методом ключевых кадров (Keyframe) и захватом движений (Motion capture). У обоих подходов есть свои достоинства и недостатки.

Технология Motion capture более точная, но требует больших финансовых вложений на покупку или аренду оборудования для захвата движений. Метод Keyframe часто выбирают, если стоит задача сделать казуальную анимацию, не претендующую на реализм.

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

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

За этим стоит не одна комплексная нейросеть, а 12 более простых. Каждая из них контролирует определенную точку на теле человека.

Когда аниматор двигает одну точку, программа запоминает ее и использует результат, вычисляя позиции остальных точек. Работа происходит в несколько этапов. Сначала сеть первого уровня выставляет все 43 точки на теле персонажа по 6 основным (шея, таз, руки и ноги). Затем последовательно вызываются сети более детальных уровней, опираясь на данные уточненные пользователем или полученные на предыдущем уровне.

Что нас ждет дальше

Думаю, в следующем году мы уже будем обсуждать нейросети для создания 3D-моделей. Они и сейчас есть, но качество работ оставляет желать лучшего. Самые большие надежды подают разработки от ByteDance и Nvidia.

ByteDance недавно показала нейросеть MVDream на базе Stable Diffusion и NeRF для генерации 3D-рендеров из текстовых промптов. Пока что она способна генерировать модели низкого разрешения 256 x 256 пикселей.

Nvidia сейчас занимается разработкой нейросети Neuralangelo. Ее обучают создавать 3D-модели по видео. Она уже умеет точно воссоздавать любые объекты и самые сложные материалы, например, мрамор и стекло. Для исходника нейросети подходят видео, снятые даже на телефон или с дрона.

Давайте держать руку на пульсе и следить за новыми разработками. Надеюсь, что в следующем году мы увидим значительные улучшения инструментов, разобранных выше. А чтобы быть готовым к новой реальности, нужно тестировать и понемногу внедрять в свой пайплайн те нейросети, что уже сейчас отлично работают.

Следите за новыми постами
Следите за новыми постами по любимым темам
422 открытий1К показов