Лекция
Освещение — один из важнейших элементов визуальной составляющей игры. Оно не только придает объем и атмосферу, но и влияет на восприятие игрового процесса.
Освещение в играх напрямую влияет на наше восприятие происходящего на экране — и даже может являться основой геймплея. Как и в реальном мире, это понятие комплексное, едва ли реализуемое при помощи одного метода.
Пожалуй, ближе всего к этому смогла приблизиться трассировка лучей — простая по своей концепции, но требовательная к вычислительным ресурсам системы. И та получила свое развитие в игровой индустрии сравнительно недавно, с началом эпохи RTX. А ведь геймдев развивается гораздо дольше — и к сегодняшнему дню разработан уже не один метод симуляции распространения света в игровой сцене.
Освещение в реальном времени (Real-time lighting):
Свет рассчитывается прямо во время игры, в каждом кадре.
Позволяет создавать динамичное освещение: смена дня и ночи, движущиеся источники света, вспышки и т.п.
Примеры: фонарик игрока, вспышки выстрелов, солнце, которое движется по небу.
Задействует ресурсоемкие технологии: теневые карты (shadow maps), освещение по физике (PBR), Ray Tracing.
Требует оптимизации: ограничение количества источников света, использование LOD и т.д.
Преподготовленное освещение (Baked lighting):
Свет «запекается» в текстуры или lightmap'ы на этапе сборки сцены.
Практически не требует ресурсов во время выполнения.
Идеально подходит для статических объектов.
Не поддерживает подвижные тени и источники света.
Часто используется в интерьерах или фиксированных сценах.
Смешанное освещение (Mixed lighting):
Комбинирует элементы baked и real-time света.
Например, статическое окружение освещено baked светом, а подвижные объекты получают real-time тени.
Для лучшего понимания, из чего вообще состоит освещение в играх, разделим его на два этапа:
Первый — прямое освещение (direct light). Это свет, исходящий непосредственно от источника (лампа накаливания, огонь, солнце), который затем проходит сквозь сцену и попадает в какую-то поверхность — например, террейн или любой другой внутриигровой объект.
Второй — непрямое освещение (indirect light) или глобальное освещение (global illumination), которое, попадая на поверхность, отражается от нее в разных направлениях и тем самым освещает другие поверхности вокруг. В зависимости от отражательной способности материала, такие переотражения могут происходить неоднократно то тех пор, пока световая энергия источника не истощится.
Тени:
Позволяют видеть форму, глубину и расположение объектов.
Основные типы:
Hard shadows — жесткие, резкие тени.
Soft shadows — более реалистичные, с градиентом по краям.
Технологии:
Shadow Maps — наиболее распространенный способ.
Ray-Traced Shadows — высококачественные, но требовательные.
Отражения:
Помогают создать реалистичную среду.
Типы:
Screen Space Reflections (SSR) — быстрые отражения из пикселей экрана.
Cube Maps — отражения с помощью заготовленных карт.
Ray Traced Reflections — самые точные, требуют RTX-совместимых GPU.
Объемный свет:
Создает эффект «света в воздухе», например, лучи солнца в тумане.
SSAO (Screen Space Ambient Occlusion):
Добавляет теневые углубления между близкими объектами.
Делает сцену глубже и выразительнее.
Volumetric Lighting:
Используется для симуляции частиц в воздухе, тумана, дыма.
Эффект "god rays" — один из популярных примеров.
Ray Tracing:
Модель трассировки лучей в реальном времени.
Обеспечивает фотореализм: отражения, преломления, тени.
Поддерживается в Unity HDRP и Unreal Engine (начиная с UE4.22).
Высокие требования к производительности → требует DLSS/FSR и RTX.
Unity:
Поддерживает три типа источников света: Realtime, Baked, Mixed.
Baked lighting осуществляется через Lightmap'ы.
Realtime Light может использовать Shadowmask или Distance Shadowmask.
HDRP (High Definition Render Pipeline) — для фотореализма и RT.
URP (Universal Render Pipeline) — для кроссплатформенности.
Unreal Engine:
Работает с тремя основными источниками света: Static, Stationary, Movable.
Использует Lightmass для запекания света.
Stationary Light может быть как запеченным, так и реальным.
Lumen (с UE5) — новая система глобального освещения и отражений в реальном времени, без запекания.
Поддержка Ray Tracing встроена с UE4.22 и выше.
Сравнение:
Особенность | Unity HDRP | Unreal Engine 5 (Lumen) |
---|---|---|
Ray Tracing | Да | Да |
Volumetric Light | Ограниченно | Широкая поддержка |
Простой Baked Light | Да | Да |
Поддержка SSAO | Да (PostFX) | Да |
Время на освоение | Ниже | Выше |
Освещение — не только визуальный, но и гейм-дизайнерский инструмент.
Свет помогает направлять игрока: подсвечивать выход, интересные объекты, врагов.
Примеры:
Темный коридор → свет в конце привлекает внимание.
Фонарный столб — ориентир на открытой местности.
Свет в окнах — указывает, где есть жизнь или миссия.
Сцены с разным освещением вызывают разные эмоции:
Холодный синий свет → тревога, одиночество.
Теплый оранжевый свет → уют, безопасность.
Резкие контрасты света и тени → напряжение.
Освещение используется в кат-сценах для создания настроения.
Цвет, интенсивность и направленность света — средства визуального повествования.
Подсознательно свет воспринимается как безопасная зона.
Игрок чаще движется туда, где светло.
Используется в хоррорах — игрок боится уходить от света.
Освещение — это не только технический, но и художественный компонент.
Грамотное сочетание real-time и baked света повышает производительность без потери качества.
Технологии вроде SSAO, Ray Tracing и Volumetrics позволяют достичь высокого уровня реализма.
Важно учитывать освещение как элемент дизайна: оно направляет, драматизирует и удерживает внимание игрока.
Комментарии
Оставить комментарий
Освещение локаций в играх и кинематографе
Термины: Освещение локаций в играх и кинематографе