Настройка освещения — S.T.A.L.K.E.R. Inside Wiki

Настройка освещения

Материал из 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 объектов используется динамическое освещение, которое просчитывается на лету и зависит от позиции и интенсивности солнца и от интенсивности hemi освещения.

Ниже примеры освещения LOD объектов:

Vertex light 01.gif

Vertex light 02.gif

Vertex light 03.gif

Так же может использоваться вертексное освещение:

Color vertex light.gif

Использование 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). Это может быть земля и стены возле костра. Чем светлее эта карта, тем ярче источники света. На изображении показан результат с этой картой и без неё.


Lmap light.jpg

A - тени (для статического освещения), падающие от одних объектов на поверхности других. При настройке погоды, этот альфа канал будет определять, где будет падать свет солнца (параметр sun_color). Черный цвет - полная тень, белый цвет - полностью освещённый солнечным светом участок.


Пример с тенями и без них:

Sun shadow.gif


lmap#№_2.dds

RGB - hemi освещение. Чем больше интенсивность RGB каналов, тем интенсивнее и ярче hemi освещение. Цвет hemi освещения задаёт параметр hemi_color для статического освещения и текстура #small для динамического. Сама карта похожа на ambient occlusion map с режимом смешивания ADD. Осветляет легкодоступные для света участки, оставляя неосвещёнными труднодоступные места (под навесами, помещения, углы в комнатах и т. д.). Применяется данная карта для того, чтобы, к примеру, в помещениях было темнее чем на улице.

Пример изображён на рисунке:


Hemi in room.gif


A - тени для неполного динамического освещения. Аналогичен теням для статического освещения из A lmap#№_1.dds.


Примерное влияние карт

Ниже показано примерное влияние этих карт. Для простоты примера я взял два куба и плоскость, и один источник света.

Без карт


No lmaps.jpg

A Lmap#№_1

Shadow.jpg

RGB Lmap№_1


Light.jpg

RGB Lmap#№_2

Hemi.jpg

Финальный результат

Final.jpg

Параметры погоды, которые влияют на свет

ambient = r,g,b - заливает однородным светом весь уровень, не обращая внимание на лайтмапы.

hemi_color = r,g,b - цвет hemi освещения (RGB каналы текстуры lmap#№_2.dds).

sun_color = r,g,b - цвет и интенсивность солнечного света. Для статического и неполного динамического освещения больше влияет на те поверхности, где меньше теней (A каналы текстур lmap#№_1.dds (r1) и lmap#№_2.dds (r2a)).

sky_color = r,g,b - цвет неба, которое освещает уровень. Влияет на освещённость уровня только на r2 и r2a.

lmap_color - параметр не работает в финалке.


(r,g,b - значения красного, зелёного, синего цветов)


Участник: Pavel

Другие места
LANGUAGE