3,8K подписчиков

Неудобные вопросы к новому Unreal Engine 5

1,2K прочитали
Проблемы и возможные решения

Чередой удивительным перфомансов, Epic Games шествует уже давно.
Лишь за недавнее время, кроме раздачи нескольких отличных игр, компания удивила мир анонсом нового и инновационного движка UE 5.

Конечно, не то чтоб Unreal Engine 4 с чем-то не справлялся, наверняка он может быть актуален еще десяток лет, но вот пятая его версия пытается не просто поднять потолок для новых свершений, а изменить крайне плотно устоявшиеся подходы к созданию игр.

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

Проблемы и возможные решения-2

Первая из представленных технологий LUMEN работает с освещением.

Очень грубо говоря, это как трассировка лучей без лучей. Ведь её значимым преимуществом было отражение света от одного объекта на другие, Lumen делает тоже самое. Никаких каверзных вопросов к ней нет, это просто шаг вперед.

Обсуждения забурлили вокруг NANITE - создаватель LOD'ов в рилтайме.

Для тех кто в бункере : LOD (Level Of Detail) это упрощенная вариация геометрии модели (или несколько вариаций) используемых на всё более удаленных от игрока расстояниях ради оптимизации.

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

Nanite оптимизирует, PBR материалы с кучей запеченных текстур как таковые уже и не нужны, а модели из ZBrush'а одним нажатием кнопки спокойно кочуют в движок, но...

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

Проблемы и возможные решения-3

А если учитывать не только текстуры, но и рукотворные LOD'ы для крупных объектов, что в отличии от мелочи просто невозможно НЕ рендерить из далека, то набор этот будет куда увесистее одной хайполи модели с текстурой цвета.

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

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

Красивый вид, простая симуляция, отличная производительность, но что же подталкивает делать UE5? Разбивать плоскости еще сильнее для лучшей симуляции?

Лично я считаю, что изменений в этот совершенный способ не нужно, в контексте игр уж точно, но эксперты бурлят, вероятно предполагая что растения на UE5 можно будет создавать вообще без одной текстуры с альфа каналом, а, скажем по 20-30 полигонов на листочек, а UE5, когда игрок отойдет, вообще сожмет всю местную флору.
Касательно симуляции распишу дальше.

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

Соответственно, расчеты применяются для каждой из вершин модели и будут съедать производительность прямо пропорционально их количеству. Уменьшится количество вершин когда флаг вдалеке - симуляция будет без проблем, разве что гибкость ткани пострадает.
Для решений с многослойной одеждой,
NVIDIA даже не надо колхозить свой APEX Clothing tool, он и так идеален.

Проблемы и возможные решения-5

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

Пока что софт наверно и не оптимизирован под раскрашивание весов на модели в пару миллионов полигонов, а моя средне-дерьмовая печка не особо гладко тянула раскрашивание 40 тысяч кучных вершин в блендере.

Раскрашивание вершин с привязкой веса для кости в Maya
Раскрашивание вершин с привязкой веса для кости в Maya

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

Я уверен что во-первых, Epic Games интегрирует работу с развесовкой вершин по костям в новый движок, и, во-вторых, ЛОДы для анимированных моделей как-то заранее закэшируются.
ЛОДов, кстати, совершенно точно будет не бесконечное количество вариаций на каждую модель, с огромной вероятностью те же 3-4-5, в большем их количестве смысла нет.

Проблемы и возможные решения-7

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

И хоть многие эксперты могут справедливо сказать : "Ну PS5 потянула в 1440p и 30 фпс, значит современные hi-end ПеКи потянут точно", уже сейчас можно рассчитать - если в вашем системном блоке нету быстрого SSD, объем видеопамяти около двух гигов и ползает он на DDR3, то количество фпс можно будет пересчитать по пальцам неумелого фрезеровщика.