Некоторое время назад Next Gen в игрострое был сосредоточен вокруг мало значимых технических нововведений в проприетарных движках и постоянного увеличения разрешений текстур, сообщает gmbox. Что же, текущее поколение игр взяло на вооружение ряд мощных продакшн-технологий, а благодаря обновлениям «железа», появились и совершенно новые решения, имплементацию которых ждут уже в проектах этого года.
Бесконечное разрешение текстур
Раз уж мы заговорили о текстурах, которыми щедро обновляют ремастеры старых игр, то тут можно упомянуть о технологии, которая была представлена прошлым летом компанией Nvidia. Технология Infinite Resolution («бесконечное разрешение») позволяет масштабировать графические текстуры без потери качества. Сделать это предполагается при помощи векторных вычислений.
Те, кто работал в Photoshop и в Illustrator прекрасно должны понимать в чём преимущество вектора над растром. Главное, за что ценится вектор – это как раз бесконечное масштабирование.
Пока что, для того, чтобы графика в игре выглядела красиво на экране любого размера, разработчики вынуждены рисовать текстуры под каждое популярное разрешение экрана или использовать аппаратные возможности видеокарты для масштабирования текстур и их сглаживания. Последнее негативно отражается на качестве выводимого изображения. Главным преимуществом описанного метода можно назвать легкость масштабирования и прочих манипуляций с изображением без потери его качества. Тем не менее, преобразование растрового изображение (например, фотореалистичной текстуры) в векторное вызывает определенные трудности и требует значительных вычислительных мощностей, даже если оно не происходит в режиме реального времени.
Технология Infinite Resolution призвана решить проблему конвертирования растровых текстур в векторную форму. Nvidia достаточно подробно описала принцип трассировки растра – преобразования растрового изображения в векторное.
Если внедрить такое решение в игры, то срок их жизни автоматически продлится, ведь в визуальном плане они будут устаревать гораздо медленнее. Есть много предпосылок к тому, что до внедрения Infinite Resolution в реальные проекты осталось ждать совсем недолго.
Использование ИИ для генерации окружения
Другая технология, которая имеет все основания называться революционной, тоже за авторством Nvidia - производитель графических решений продемонстрировал технологию, благодаря которой генерировать 3D-графику можно при помощи системы искусственного интеллекта.
Компания показала демонстрационный проект - симулятор вождения, созданный искусственным интеллектом. ИИ отсканировал реальную городскую среду и создал алгоритм, с помощью которого можно управлять автомобилем. Игра сделана на движке Unreal Engine 4.
Конечно, пока генерация не происходит идеально, и разработчики подправили некоторые аспекты кода и графики, но по большей части игровое пространство создано самим искусственным интеллектом.
"ИИ позволит разработчикам и художникам создавать новые интерактивные трехмерные виртуальные миры для автомобильной, игровой индустрии и для проектов в виртуальной реальности, просто обучаясь на видео из реального мира. Это снизит стоимость и время разработки. Нейронные сети, а, в частности, генеративные модели, изменят способ создания графики", - говорится в заявлении компании.
В отличие от большинства похожих решений, алгоритм Nvidia работает не с отдельными кадрами, а со всем видеопотоком сразу. Для обучения ИИ разработчики использовали графические процессоры NVIDIA Tesla V100 с алгоритмом глубокого обучения cuDNN, а также несколько тысяч видео городских пейзажей для обучения системы. Помимо генерации виртуальных миров ИИ может также создавать и анимировать 3D-модели людей.
Система Nvidia использует метод генеративно-состязательной сети, который построен на комбинации из двух нейронных сетей, одна из которых генерирует образцы, а другая отклоняет неточные, по ее мнению. В результате ИИ самообучается созданию все более качественных результатов с течением времени. Этот подход применяется довольно широко при создании изображений - самым известным примером являются многочисленные проекты по замере лиц знаменитостей.
Технология NVIDIA генерирует графику в несколько шагов. Вначале исследователи должны собрать данные для обучения: в данном случае это были материалы, используемые при разработке автопилота. Затем видео сегментируется: каждый кадр разбивается на категории вроде неба, автомобилей, деревьев, дороги, зданий и так далее. Затем алгоритм обучается на основе этих данных для последующей генерации новых объектов.
Симуляция происходит на одном графическом процессоре, однако геймерам радоваться рано: речь идет о Titan V за $3 тыс., который обычно используется для продвинутой симуляции, а не для игр.
Одной из главных проблем, с которой столкнулись инженеры, заключалась в том, что алгоритм глубинного обучения генерируют графику с высокой частотой кадров, так что цвета и текстуры менялись в каждом кадре. Пришлось создать систему кратковременной памяти для сравнения каждого нового кадра с предыдущим. Она также призвана предсказывать направление движения и затем создавать кадры, согласованные с существующими. Все эти вычисления весьма требовательны к ресурсам, потому игровая демонстрация выводит лишь 25 кадров/с.
Магия «Гудини»
Houdini — профессиональный программный пакет для работы с трёхмерной графикой, разработан компанией Side Effects Software (Торонто, Канада). Чаще всего Houdini используется для создания эффектов в высокобюджетных фильмах, в моушн-графике. Но уже давно Houdini стал популярным инструментом в среде разработчиков игр.
В основе магии Houdini, отличающей этот софт от всех иных 3d-пакетов, лежит два основополагающих концепта – процедурность и автоматизация процессов.
Процедурность предполагает, что объекты генерируются по заданным правилам в автоматическом режиме. При этом можно задать множество тонких настроек и параметров рандомизации, из-за чего массив объектов может обладать неповторяющимися особенностями. Вручную создание аналогичного числа и качества ассетов может занять многие дни или месяцы. К примеру, при помощи Houdini можно создавать города, улицы, объекты на основе частиц (облака, реки, океаны), физически корректные разрушения, специфическую органику и много всего еще.
Рабочий процесс в Houdini нелинейный. Это значит, что в процессе создания ассетов дизайнер всегда может вернуться назад и изменить какой-то параметр в предыдущих этапах работы без повторной обработки последующих шагов. Несмотря на то, что Houdini служит для создания графики и дизайна, софт часто полагается на объектно-ориентированное программирование (ООП). Из-за этого обучение этому инструменту (особенно у гуманитариев) имеет свои особенности и представляется чуть более трудоемким процессом, нежели освоение других 3D-пакетов.
Число игровых проектов, где использовали Houdini велико и множится с каждым годом. Причем софтом пользуются как инди-студии, так и титаны индустрии для своих AAA-проектов:
В качестве простого примера работы можно привести рассказ художника Эйвинда Фиксдаля (Øyvind Fiksdal) о процедурном процессе создания дома и ландшафта в Houdini и преимуществах такого подхода. Даже при работе с традиционным моделированием и скульптингом создание целой деревни будет масштабной задачей, в особенности редактирование ассета после его завершения.
В основе использования процедурной природы Houdini лежит идея создания набора процедурных инструментов, считывающих геометрию и создающих готовую модель со всеми деталями, текстурами и доработками. При традиционном подходе на такую работу ушло бы несколько дней. Процедура, генерирующая готовый дом из низкополигональной основы, собрана из серии модулей – кусочков кода, которые выполняют определённую задачу. Например, первый модуль считывает низкополигональную геометрию и распознаёт крыши, стены, двери и окна. Из него ответвляются несколько модулей, выполняющих вторичные операции. Например, крыша затем отправляется в следующий модуль, находящий конёк крыши и проверяющий, сможет ли он обнаружить шпиль. Далее данные отправляются в новый модуль, создающий черепицу, потом в ещё один для создания мха, потом для создания травы, и так далее.
В готовой модели практически нет заранее созданных ассетов. Вместо этого она генерирует их из лежащей под ними поверхности. В этом и заключается концепция проекта.
Houdini также работает как плагин для движков Unity, Unreal, редакторов 3ds Max, Maya и Cinema 4D и выполняет сети нод, которые создаются через Houdini непосредственно в указанных программах. Это значит, что Houdini-файл можно импортировать, к примеру, в Unreal Engine 4 и использовать, как любой другой ассет. При этом сохранятся параметрические настройки.
Движки для создания игр и аниматиков
В то время, как многие игровые компании прячут от всех свои движки (программные комплексы для работы с графикой и логикой, при помощи которых разрабатываются игры) за семью печатями, компания Epic Games не только отдает на растерзание всем желающим мощный движок Unreal Engine, но и делает это бесплатно – студии должны будут платить небольшой процент от продаж своей игры, но только в случае достижения определенного количества проданных копий.
Деморил недавних игр,созданных на UE4
Аналогичным образом поступают и в Unity, которая производит одноименный движок. Так же, как и UnrealEngine 4, Unity позволяет создавать приложения, работающие под более чем 20 различными операционными системами, включающими персональные компьютеры, игровые консоли, мобильные устройства, интернет-приложения и другие
Недавно Epic Games представила свою новую высокопроизводительную систему просчета физики и разрушений Chaos, которая для многих кажется чем-то невероятным. Появившись в раннем доступе в Unreal Engine 4.23, Chaos позволяет производить масштабные разрушения в реальном времени с впечатляющим уровнем детализации.
Вероятно, следующее поколение игр уже будет использовать данную технологию, перспективы ее применения в играх будущего, например, в Rainbow Six Siege 2, многообещающие. Демонстрацию работы технологии можно увидеть на демо-ролике, который, к слову, делали всего несколько человек, используя библиотеки ассетов.
Интересно, что графика в движках уже позволяет создавать картинку кинематографического качества, поэтому неудивительно, что инструментарием Unreal Engine 4 заинтересовались киноделы для создания анимационных фильмов. Преимущество игровых движком перед обычным 3D-пайплайном очевидно– нет необходимости в многочасовом рендере, все расчеты происходят в реальном времени, при этом качество картинки постоянно улучшается.
Так, разработчики показали демку рейтрейсинга на примере ролика под названием "Troll", который является тизером полноценного фильма на движке Unreal Engine 4 с использованием технологии трассировки лучей.
Видео демонстрирует работу технологии трассировки лучей в реальном времени и оптические эффекты графического движка Unreal Engine 4.22. Был показан очень высокий уровень освещения кинематографического качества с использованием сложных мягких теней и отражений.
Еще одним впечатляющим примером фотореализма в реальном времени стал ролик «Rebirth» от студии Quixel, производящей софт для текстурирования. В видео показана суровая местность неизвестного места из будущего. Во время просмотра иногда возникает ощущение о реальности происходящего на экране. Epic сообщили, что над созданием клипа работали всего три художника.
Новый модный рейтрейсинг уже обосновался в некоторых релизах этого года и ожидается в грядущих. Например, продвинутая технология трассировки лучей будет присутствовать в приключенческом экшене Control от финской студии Remedy Entertainment.
К слову, в Control обещают и новую мощную систему физики - обстановка будет меняться причудливым образом, а мир проекта будет отвечать на действия пользователя именно так, как он и ожидает.
При создании игры изучается поведение стали, древесины, стекла и других материалов в момент различных манипуляций, что позволит, например, правдоподобно разбиваться стеклу или же древесине разлетаться в щепки. Все это возможно благодаря работе движка и дополнительному программному обеспечению разработчиков. Правда, в студии не раскрывают, какие именно технологии и ПО использовалось при создании игры.