Освещение 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.
- Обе технологии резко снижают ручной труд художника.
- Платой за качество служат высокие требования к видеокарте.