Настройка освещения
Материал из S.T.A.L.K.E.R. Inside Wiki
Содержание
Вступление
В этой статье я описываю свои наблюдения в тч над настройкой погоды (добавление дождя, облаков, тумана и грозы не рассматривается). Для настройки света лучше знать, как влияют карты освещения (light map) в Сталкере.
О картах освещения в X-Ray
Лайт мапы в Сталкере автоматически запекаются в процессе компиляции уровня (xrLC.exe). Находятся в папке с уровнем и имеют названия lmap#№_1.dds, lmap#№_2.dds. Для террейна лайт мапы запекаются в отдельные файлы с именами Name.dds (аналог lmap#№_2.dds) и Name_lm.dds (аналог lmap#№_1.dds). Для LOD объектов создаётся вертексное освещение. Ниже примеры вертексного освещения:
Вертексное освещение также может быть цветным:
Использование LigthMap на r1, r2, r2a
Для статического освещения (r1) используется:
RGB каналы текстуры lmap#№_1.dds A канал текстуры lmap#№_1.dds RGB каналы текстуры lmap#№_2.dds Параметры погоды в конфиге: sun_color, ambient, hemi_color.
Для неполного динамического освещения (r2a) используется:
RGB каналы текстуры lmap#№_2.dds A канал текстуры lmap#№_2.dds Параметры погоды в конфиге: sky_color, sun_color, ambient, hemi_color (последний параметр влияет только на модели с прозрачными текстурами) и цвет текстуры #small (для моделей с непрозрачными текстурами. Является заменой hemi_color, который работает только на статике).
Для полного динамического освещения (r2) используется:
RGB каналы текстуры lmap#№_2.dds (на r2 hemi_color не влияет на цвет этой карты, в отличие от r1. Заменой hemi_color являются #small текстуры). Параметры погоды в конфиге: sun_color, sky_color, hemi_color (последний параметр влияет только на модели с прозрачными текстурами) и цвет текстуры #small (папка textures\sky).
Описание карт освещения
lmap#№_1.dds (эта карта работает только на r1)
RGB - цвет источников света, добавленных в LevelEditor (Light). Это может быть земля и стены возле костра. Чем светлее эта карта, тем ярче источники света. На изображении показан результат с этой картой и без неё.
A - тени (для статического освещения), падающие от одних объектов на поверхности других. При настройке погоды, этот альфа канал будет определять, где будет падать свет солнца (параметр sun_color). Черный цвет - полная тень, белый цвет - полностью освещённый солнечным светом участок.
Пример с тенями и без них:
lmap#№_2.dds
RGB - hemi освещение. Чем больше интенсивность RGB каналов, тем интенсивнее и ярче hemi освещение. Цвет hemi освещения задаёт параметр hemi_color для статического освещения и текстура #small для динамического. Сама карта похожа на ambient occlusion map. Затемняет труднодоступные для света участки. Применяется для того, чтобы, к примеру, в помещениях было темнее чем на улице.
Пример изображён на рисунке:
A - тени для неполного динамического освещения. Аналогичен теням для статического освещения из A lmap#№_1.dds.
Примерное влияние карт
Ниже показано примерное влияние этих карт. Для простоты примера я взял два куба и плоскость, и один источник света.
Без карт
A Lmap#№_1
RGB Lmap№_1
RGB Lmap#№_2
Финальный результат
Параметры погоды, которые влияют на свет
ambient - заливает однородным светом весь уровень, не обращая внимание на лайтмапы.
hemi_color - цвет hemi освещения (RGB каналы текстуры lmap#№_2.dds). Назначение четвертой цифры я не знаю (наверное вырезанный параметр). Но на всякий случай лучше оставить как у GSC: значение 1.0 для светлого времени суток и 0.1 для глубокой ночи.
sun_color - цвет и интенсивность солнечного света. Для статического и неполного динамического освещения больше влияет на те поверхности, где меньше теней (A каналы текстур lmap#№_1.dds (r1) и lmap#№_2.dds (r2a)).
sky_color - цвет неба, которое освещает уровень. Влияет только на динамическом неполном и динамическом полном освещениях.
lmap_color - параметр не работает в финалке. Но на всякий случай оставить значение 1.0, 1.0, 1.0.Участник:Pavel_Blend