Вступление:
Начну с основ. Я работаю над артхаусным проектом «Attempt to Survive». Моим приоритетом стала глубокая оптимизация, чтобы игра стабильно работала на старом железе, сохраняя при этом качественную картинку.
Специально для тестов я собрал ПК: i7 6700k, GTX 950 и 8 ГБ оперативной памяти. Комплектующие нашлись в старых запасах, так что сборка не вызвала затруднений.

Сейчас я использую Unreal Engine 5, и, как многие справедливо подозревали, с оптимизацией здесь всё сложно. С каждым обновлением движок избавляется от проверенных временем инструментов в угоду «модных» технологий. Из-за этого минимальные требования взлетают до уровня RTX 3060, при этом даже отключение всех «фич» не гарантирует чистоты — остаточный код продолжает нагружать систему.
Отдельного упоминания заслуживает новая шейдерная модель, потребляющая ресурсы гораздо активнее, чем в четвертой версии.
Понимая это, я перешел на DirectX 11. Это позволило принудительно отключить Lumen, Nanite и прочий «тяжелый» функционал. Да, возникли определенные ограничения, но они оказались вполне приемлемыми.
Многие спросят: почему не остаться на 4.27? Ответ прост: совместимость плагинов и ассетов. Я инди-разработчик, и поддержка четверки постепенно сходит на нет, а инструменты для даунгрейда выручают далеко не всегда.
Процесс разработки:
Сначала я полагался на динамическое освещение, так как больших объемов на тот момент не планировал, а опыт с запеканием света в 4.25 оставил неприятные впечатления.



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




Я пробовал использовать Screen Space для создания глубины теней, но быстро понял, что этот инструмент в пятом движке работает некорректно из-за глубокой интеграции с Lumen. Его состояние ухудшалось от версии к версии, и в 5.8 его поддержка была окончательно прекращена.

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

Я пытался выстраивать свет вручную, но результат выглядел плоским и «искусственным». Даже интерьеры освещались так, будто у них нет стен.



Я пытался имитировать свет «костылями» через PostProcess-тома, но результат был далек от профессионального.
Точка невозврата:
Устав от борьбы с базовыми инструментами, я поддался на уговоры коллег и активировал Lumen. Визуальная отдача была мгновенной: глубина картинки, реалистичные отскоки света. Но цена оказалась слишком высокой.


Даже на моей основной машине (RTX 5070, Ryzen 9 5900x, 64 ГБ ОЗУ) производительность просела до недопустимых значений. К тому же, визуальный стиль начал терять индивидуальность, превращаясь в «стерильный» реализм.
В этот момент я решил взять паузу.
Озарение:
Перерыв пошел на пользу: я занялся сторонними проектами («Post-Soviet Bus Simulator» и «BloodVein»), где решил вернуться к классическому статичному освещению (Lightmass).
Оказалось, что для хоррор-сцен «печеный» свет дает куда больше атмосферы, чем «динамика». К тому же, я обнаружил, что опасения по поводу масштабирования мешей (скейлинга) были сильно преувеличены: при правильном подходе лайтмапа не рассыпается.
Реализация и итог:
Я вернулся к своему проекту и полностью пересобрал систему освещения под статику. Результат превзошел ожидания: глубина, контраст, полный контроль над визуальным стилем без оглядки на «тяжелые» технологии.

И это лишь начальный этап, без глубокой настройки постпроцесса и оптимизации разрешений лайтмап.
Вывод прост: не стоит слепо гнаться за современными технологиями. Часто классические, проверенные методы дают лучший результат с гораздо меньшими затратами ресурсов. Эпики продолжают усложнять жизнь разработчикам, навязывая прожорливые технологии вроде Chaos Physics и планируя отказ от классического освещения в пользу системы, которая подходит далеко не всем.


