Освещение Lumen и геометрия Nanite

Урок про две флагманские технологии Unreal Engine 5 — Lumen и Nanite.

Lumen — это система глобального освещения в реальном времени; Nanite — система виртуализированной геометрии, позволяющая использовать модели с огромным числом полигонов без ручной оптимизации.

Что такое глобальное освещение

Свет в реальном мире отражается: солнце освещает стену, та отбрасывает мягкий свет на пол, краснит соседние поверхности. Это непрямое освещение (global illumination). Раньше его «запекали» заранее в текстуры (lightmaps), и оно было статичным — нельзя было двигать солнце или ломать стены без пересчёта.

Lumen: свет в реальном времени

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

ПодходLightmaps (старое)Lumen (UE5)
Непрямой светЗапекается заранееВ реальном времени
ДинамикаСвет статиченМожно менять на лету
Время художникаДолгое запеканиеСразу виден результат
СтоимостьДёшево в рантаймеДороже для GPU

Nanite: геометрия без компромиссов

Обычно для производительности модель делают в нескольких уровнях детализации (LOD): вблизи — подробная, вдали — упрощённая, и движок переключает их. Художник создаёт LOD'ы вручную — это рутина. Nanite убирает её: вы загружаете модель с миллионами полигонов, а Nanite сам показывает ровно столько детализации, сколько нужно для текущего размера на экране. Камень из фотосканирования с миллионами треугольников работает плавно.

Без Nanite: художник делает LOD0, LOD1, LOD2... вручную
С Nanite:   одна модель -> движок сам подбирает детализацию по экрану

Как работает под капотом

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

Ограничения

  • Nanite пока лучше всего работает со статичной непрозрачной геометрией; не всё ему подходит.
  • Lumen дороже запечённого света — на слабом железе его иногда отключают.
  • Обе технологии нацелены на ПК и мощные консоли, а не на слабые мобильные устройства.

Частые ошибки

  • Ждать Lumen на любом железе. На слабых GPU он может сильно просесть; иногда выбирают запекание.
  • Думать, что Nanite решает всё. Он не отменяет разумные текстуры и не подходит для всех типов мешей.
  • Игнорировать стоимость. Красота UE5 требует мощной видеокарты у игрока.

Когда отключать и чем заменять

Lumen и Nanite — не догма. Для игры, нацеленной на слабое железо или мобильные устройства, их часто выключают и возвращаются к проверенным методам: запечённому в lightmaps освещению и ручным LOD. Это даёт стабильный FPS на скромных видеокартах ценой потери динамичности света и удобства работы с геометрией. Выбор всегда компромисс между качеством, удобством разработки и требованиями к железу аудитории.

Важно понимать и то, что эти технологии не отменяют здравый смысл. Nanite не оправдывает текстуры огромного разрешения там, где их не видно; Lumen не прощает сцену, забитую сотней динамических источников света. Инструменты UE5 поднимают планку возможного, но грамотный художник всё равно следит за бюджетом кадра. Технология даёт потенциал, а профессионализм решает, как им распорядиться.

Итоги

  • Lumen даёт динамическое глобальное освещение в реальном времени без запекания.
  • Nanite позволяет использовать сверхдетальные модели без ручных LOD.
  • Обе технологии резко снижают ручной труд художника.
  • Платой за качество служат высокие требования к видеокарте.
Проверьте себя
1. Что делает Lumen?
AУпрощает геометрию
BСчитает глобальное освещение в реальном времени
CСжимает текстуры
DОбрабатывает ввод
2. Какую рутину художника убирает Nanite?
AСоздание материалов
BРучное создание уровней детализации (LOD)
CНастройку звука
DНаписание кода
3. Чем приходится платить за Lumen и Nanite?
AРазмером игры на диске
BВысокими требованиями к видеокарте
CПотерей звука
DОтказом от Blueprint