Ru/Fog tutorial
Применение тумана для скайбоксов

Когда у вас есть туман на карте, вы можете столкнуться с проблемой, что туман действует на геометрию и модели, но не на скайбокс.
Для скайбоксов вы можете использовать материалы, которые были использованы в других уровнях HL2 или создать новый. В последней версии движка улучшили производительность визуализации тумана и добавили новые возможности для настройки.
Быстрое решение проблемы
Чтобы добиться результата,когда скайбокс не виден в тумане, вам надо применить текстуру sky_day02_10
для скайбокса (если посмотреть на исходник, то это текстура с нарисованным эффектом тумана). Для списка текстур неба, смотрите статью Sky List.
Затем, в свойствах env_fog_controller должны стоять такие настройки:
Primary fog color(первичный цвет тумана): 176 192 202
Secondary fog color(вторичный цвет тумана): 206 216 222
Эти настройки используется в главе Highway 17 на уровне с ж/д мостом в HL2.
Создание своего skybox
Мы просто создаем skybox который использует primary fog color
. Хотя обычный skybox имеет 6 файлов текстур каждая 1024x1024 пикселов, нам только нужна одна меньшего размера, так мы уменьшим размер кешированной текстуры.
Во-первых, создаем .vtf с цветом вашего тумана. Лучше сохранить его в вашу папку skybox. Запомните его имя, для этого учебника я пологаю оно называется sky_fog_tex.
Теперь создайте 6 .vmt необходимых для skybox. Если хотите назовите ваш skybox sky_fog, здесь:
sky_fogbk.vmt sky_fogdn.vmt sky_fogft.vmt sky_foglf.vmt sky_fogrt.vmt sky_fogup.vmt
Они все содержат одно содержимое:
"UnlitGeneric" { "$baseTexture" "skybox/sky_fog" }
Мы не используем "$nofog" 1
как skybox'ы обычно делают.
Если вы используете этот skybox и только разрешен primary fog color
в env_fog_controller, затуманеная неометрия и модели имеют тот же цвет что skybox.
Как бы нибыло, если вы используете secondary fog color
что хорошо, вы должны быть уверенны что расстояние между игроком и skybox'ом всегда больше чем fogend
. Запомните что мы неиспользовали "$nofog" 1
, это означает что туман будет рисоваться на skybox. Тем не менее, это только делается в обоснованном пути когда skybox полностью перерисовывается - как геометрия. Вы можете использовать 3D Skybox для этой цели.
Смотрите также
- Пример HL2 vmf проекта с смешанным 3D skybox туманом
- Пыль, туман и дым