Туман (Fog)

В этом учебнике я расскажу вам, как создать реалистичный туман. В его создании на самом деле нет ничего сложного, но лучше об этом вам узнать из этого урока, чем самим искать нужную энтитю и пытаться разобраться в ее настройках. Что ж приступим. Для того чтобы карты компилировалась вам нужно сделать как минимум пустой браш, источник света и точку старта игрока. Я немного усложнил задачу и создал небольшое подобие леса с деревьями, кустами и небом, чтобы на всех скриншотах туман выглядел более наглядно. Рассказывать, как именно я этот сделал, не вижу особого смысла, ибо этот тутор о создании тумана, а не природы.

На скрине ниже видно, как выглядит моя конечная сцена в редакторе.

Итак, теперь, когда сцена готова, создайте энтитю env_fog_controller и поместите ее в том месте, где считаете нужным. Именно эта энтитя и отвечает за прорисовку тумана на карте. Для того чтобы туман работал, достаточно включить всего один параметр в ее настройках, а именно Fog Enable: Yes. Нажмите F9 и убедитесь в этом сами. Если это именно то, что вы хотели знать о создании тумана, то собственно на этом можете прекратить читать данный тутор. Ну, а если результат вас не совсем устраивает, то я продолжу. Вот, например вы хотите изменить цвет тумана, сделать его скажем красным. Проще простого. Выделите энтитю env_fog_controller, зайдите в ее настройки (Alt+Enter) и найдите там два параметра, которые отвечают за цвет тумана, а именно Primary Fog Color и Secondary Fog Color. Думаю, не стоит объяснять, как правильно работать с палитрой Windows, ибо это как мне кажется, знает каждый ребенок, который хотя бы пару раз загружал Pain. Красный туман, который у меня в итоге получился можно лицезреть на картинке ниже.

Цвет поменяли, теперь хотим сделать туман ближе по отношению к игроку. За это отвечают параметры Fog Start и Fog End. Например, установите такие значения: Fog Start: 200, Fog End: 400. Результат смотрим на скрине ниже:

Казалось бы, все отлично. Мы уже умеем делать туман, менять ему цвет, дальность прорисовки и т.д. Но есть одно «но». Вы наверно заметили, что на втором и третьем скриншотах туман отсутствует на небе. Да он есть на деревьях, кустах, ландшафте, но на небе его нет. Что делать? Для начала зайдите в Map > Map Properties… и напротив параметра SkyBox Texture Name напишите sky_day02_10. Тем самым вы примените текстуру неба, которая лучше всего смотрится на фоне того тумана, который мы хотим создать. Главное чтобы на вашей карте было создано небо, иначе какой смысл все это делать? Небо в Хаммере — это по сути пустая коробка с натянутой текстурой skybox. Чтобы текстура неба и цвет тумана слились, зайдите в настройки энтити env_fog_controller и в параметрах Primary Fog Color и Secondary Fog Color поставьте такие значения:

Primary Fog Color: 176 192 202
Secondary Fog Color: 206 216 222

Результат виден на скриншоте ниже:

Смотрится уже значительно лучше, но чего-то явно не хватает. Помните туманную дымку, что нависает над Равенхольмом на первой карте в оригинальном Half-Life 2? Хотите сделать такую же у себя на карте? Нет проблем. Создайте прямоугольный браш произвольной формы, залейте его текстурой trigger и переведите в энтитю (Ctrl+T) func_smokevolume.

Настройка func_smokevolume:

Particle Color1 (R G B) и Particle Color2 (R G B) — цвет частиц.
Material — текстура для дымки или облаков, называйте как вам удобней.
Particle Draw Width (units) — размер частиц в единицах/дюймах.
Particle Spacing Distance (units) — расстояние между частицами. Чем ниже число, тем плотнее частицы и на оборот.
Density Ramp Speed (seconds) — время движения от нулевой плотности в плотность 1, в секундах.
Rotation Speed (degrees/sec) — скорость вращения частиц в градусах, через секунду.
Movement Speed (units/sec) — скорость перемещения частиц по кругу, в единицах/дюймах в секунду.
Density [0. 1] - плотность частиц, от 0 до 1.

Вот мы и разобрали создание более сложного тумана. Конечный результат можно увидеть на картинке ниже:

Экспериментируйте и у вас обязательно все получиться.

Удачной вам компиляции и реального тумана аля Silent Hill =)

Пример карты можно скачать здесь.

Автор: 7Azimuth.
21 июля 2006, 12:12