13 февраля 2021 13.02.21 3 3429

«Магия» полигонов в Unreal Engine 5

+3

Около года назад Epic Games показали трейлер своего нового игрового движка Unreal Engine 5.

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

Nanite

Благодаря новой технологии виртуализации геометрии 3D Артистам больше не нужно париться над оптимизацией своих моделей и думать, сколько места в памяти они займут в итоге. Возможным станет активное использование Quixel-мегасканов, которые по-сути являются 3D моделью по фотографии. Для примера использования мегасканов в играх далеко ходить не нужно, можно просто вспомнить Cyberpunk 2077 от CD Projekt Red.

Nanite позволяет отрисовывать миллиарды полигонов, не сильно влияя на производительность игровой сцены. Например, как в моменте из видео со статуями, где каждая состоит из 33 миллионов полигонов, что в общем составляет примерно 16 миллиардов полигонов, и имеет текстуру в 8К.

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

Сетка и плотность полигонов на сцене
Сетка и плотность полигонов на сцене
Как это видит человек в итоге
Как это видит человек в итоге

В трейлере движка разработчики явно использовали мегасканы. Всем ли играм подойдет такой подход к разработке и почему же люди ждут от Unreal Engne 5 не того?

Про игровые модели в проектах

3D модели для игр требуют много времени на своё создание. Можно выделить 5 основных этапов создания игровой модели:

  • Объёмный набросок модели;
  • Многополигональная модель;
  • Малополигональная модель на основе вышеуказанной;
  • Создание карт света, теней и т.п.;
  • Внедрение модели в игровой движок.

Так на какой-нибудь условный Калаш 3087 года у художника может уйти неделя, а то и больше.

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

- Нет, далеко не ко всем.

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

Данные модели, если выбрать самые жирные, скушают очень много места из-за своих полигонов и текстур. В трейлере движка показали скалы и прочее окружение, которые явно являются качественными мегасканами. Выглядит это круто и сочно (хоть и не без подвохов), спору нет. Здесь это выглядит уместно и логично. Nanite справляется с этим отлично.

Про подвохи

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

Выделил растянутые полигоны для наглядности.
Выделил растянутые полигоны для наглядности.

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

Главным вопросом до открытия движка людям будет, пожалуй, как эти технологии повлияют на вес игры. К сожалению, сами Epic Games пока не могут ответить на него.

Can't share technical details at this time, but this tech is meant to ship games not tech demos, so download sizes are also something we care very much about.

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

Твиттер Graham Wihlidal @gwihlidal

Заключение

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

Я не профессионал и понимаю, что рано говорить о вещах, которые ещё в разработке. Но ведь игры на UE 5 уже в процессе разработки, поэтому и стоит задуматься: не ждёте ли вы от них того, чего вам не обещали на самом деле?

Интересно почитать, что вы ожидаете от нового Нереального Двигателя 5.


Лучшие комментарии

От заголовка ждал какого-то уберподробного глубоко технического разбора того, как UE5 достигает такой производительности при такой плотности полигонов. Внутри обнаружил оду мегасканам, а ведь мегаскан это всего лишь одна из библиотек объектов созданных путём фотограмметрии и если уметь такие штуки можно и самому делать имея всего лишь телефон с вменяемой камерой (к слову об «один и тот же меч будет в куче игр»).

Ясное дело, мои ожидания — мои проблемы. Но как-то даже грустно от такого поверхностного погружения в тему.

Кстати, по теме статьи: Я слышал предположения, что за основу геометрии для рендеринга в Nanite берётся не меш, а карта удалённости вершин исходного меша (мегаскана) от pivot'а (центра координат) оного меша и уже на уровне пиксельных шейдеров считается конкретная геометрия, что и позволяет рендерить горы полигонов.

Побочные эффект такого подхода:
1. форма навсегда «запечена» в карту и никак деформировать её нельзя (масштабирование и поворот не в счёт — это самые базовые операции)
2. Нельзя сделать формы с отверстиями т.к. по большому счёту карта всего лишь указывает как нужно деформировать сферу точек вокруг pivot'а относительно их изначального положения

Но это всё т.н. educated guess и в статье я как раз ждал либо подтверждения этой догадки, либо опровержения, короче, больше информации по теме. Но раз не нашёл, то хотя бы сам рассказал, что знаю. Возможно где-то наврал или неточно описал: мой уровень погружения в тему немногим глубже твоего )

Хотел рассказать про фичи, которые на слуху у масс и избежать сложных подробностей. В целом, смысл блога был в том, чтобы поубиваить завышенные ожидания от игр на УЕ5. По опыту общения с людьми, которые не совсем шарят за техническую часть могу сказать, что часто они ждут ультраграфон в каждой игре после выхода УЕ5.

Замечания сделал по факту, спасибо. Можно было съехать на «Первый блог, блаблабла», но стоило глубже углубиться в тему самому и учесть, что могут прочесть люди, которые шарят за эти дела.

Читай также