Ru/Fog tutorial: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
mNo edit summary
Line 3: Line 3:
[[Image:Fogtute01.jpg|thumb|300px|right|Настройки тумана в ентити [[env_fog_controller]] не влияют на скайбокс.]]
[[Image:Fogtute01.jpg|thumb|300px|right|Настройки тумана в ентити [[env_fog_controller]] не влияют на скайбокс.]]


Когда у вас есть туман на карте, вы можете столкуться с проблемой, что туман действует на геометрию и модели, но не на [[Skybox (2D)|скайбокс]].
Когда у вас есть туман на карте, вы можете столкнуться с проблемой, что туман действует на геометрию и модели, но не на [[Skybox (2D)|скайбокс]].
 
Вы можете использовать материалы которые были использованы в других уровнях [[HL2]] ранее или сделать ваш собственный материал для скайбоксов. Последнея версия дает вам не только больше управления туманом но также улучшает производительность.


Для скайбоксов вы можете использовать материалы, которые были использованы в других уровнях [[HL2]] или создать новый. В последней версии движка улучшили производительность визуализации тумана и добавили новые возможности для настройки.


{{note:ru|[[3D Skybox]] использует свои собственные настройки тумана в энтити [[sky_camera]]. Для лучшего результата сопоставьте эти настройки с вашими [[env_fog_controller]].}}
{{note:ru|[[3D Skybox]] использует свои собственные настройки тумана в энтити [[sky_camera]]. Для лучшего результата сопоставьте эти настройки с вашими [[env_fog_controller]].}}

Revision as of 08:52, 30 April 2009

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

Настройки тумана в ентити env_fog_controller не влияют на скайбокс.

Когда у вас есть туман на карте, вы можете столкнуться с проблемой, что туман действует на геометрию и модели, но не на скайбокс.

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

Template:Note:ru

Быстрое исправление

Пример удачного тумана, из-за того, что цвет тумана совпадает с 2D skybox.

Для быстрого исправление эти исправления работают хорошо. Однака, вы ограничены одной настройкой цвета и это не будет выглядеть хорошо если вы используете фунцию далекой плоскости z-clip env_fog_controller.

Во-первых, вы должны использовать sky_day02_10 в качестве вашей skybox текстуры (если вы посмотрите на неё, она уже затуманенная текстура поэтому это и работает). Для списка небес, смотрите 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 для этой цели.

Смотрите также

Template:Otherlang:ru Template:Otherlang:ru:en