UE5: Lumen и Nanite. Как использовать и их проблемы
Не так давно в открытый доступ вышел Unreal Engine 5, где каждый может опробовать новые функции движка, основными из которых являются новая технология глобального освещения Lumen и система рендера Nanite, речь о которых сейчас и пойдёт.
Nanite
Nanite — это рендер с микрополигонами. Используя его, ПК не отрисовывает каждую модель, относительно количеству её полигонов. Благодаря нему изображения выводится разрешением один полигон на пиксель, то есть чем выше разрешение вашего монитора, то тем и выше количество полигонов (детализация модели)
Плюсы видны сразу, можно использовать огромное количество многополигональных объектов, но вопрос лишь в том, что будет с весом игры?
Также, как можно понять, этап создания LODов для многих объектов можно будет просто пропускать, как и создание low poly
Lumen
Lumen — это технология глобального освещения. Чем то она схожа с технологией трассировки лучей, строго говоря. Лучи всё также отражаются от поверхностей и пере отражаются от них вновь, нет необходимости запекать карты освещения.
Можно будет влиять на освещённость любого помещения в зависимости от параметров источников света, объектов, блокирующие свет и тп прямо во время игры.
Проблемы
//На данный момент
Lumen сильно портит качество для растительности, к которой подключен Nanite. Как заявляют сами Epic, такая проблема сейчас есть для всех «тонких» объектов, для таких как листва у деревьев, трава и тп.
Тени могут быть очень резкими и некрасивыми, особенно используя rect light. Во-первых они шумные, а во-вторых им явно не хватает сглаживания. Но решить это можно благодаря консольным командам, таким как:
r.Shadow.Virtual.SMRT.RayCountLocal
r.Shadow.Virtual.SMRT.SamplesPerRayLocal
В Directional Light может не работать параметр Inderect Lighting Intensty, а мешает в его работе SkySphere. Как только вы её удалите, параметр сразу заработает как надо.