Ru/Fog tutorial: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 8: | Line 8: | ||
Для скайбоксов вы можете использовать материалы, которые были использованы в других уровнях [[HL2]] или создать новый. В последней версии движка улучшили производительность визуализации тумана и добавили новые возможности для настройки. | Для скайбоксов вы можете использовать материалы, которые были использованы в других уровнях [[HL2]] или создать новый. В последней версии движка улучшили производительность визуализации тумана и добавили новые возможности для настройки. | ||
{{note | {{note|[[3D Skybox]] использует свои собственные настройки тумана в энтити [[sky_camera]]. Для лучшего результата сопоставьте эти настройки с вашими [[env_fog_controller]].}} | ||
<br style="clear:both"> | <br style="clear:both"> | ||
Line 14: | Line 14: | ||
[[Image:Fogtute02.jpg|thumb|300px|right|Пример удачного использования тумана, из-за совпадения его цвета с оттенком текстуры неба.]] | [[Image:Fogtute02.jpg|thumb|300px|right|Пример удачного использования тумана, из-за совпадения его цвета с оттенком текстуры неба.]] | ||
Чтобы добиться результата,когда скайбокс не виден в тумане, вам надо применить текстуру <code>sky_day02_10</code> для [[Skybox (2D)#Changing the displayed skybox| скайбокса]] (если посмотреть на исходник, то это текстура с нарисованным эффектом тумана). Для списка текстур неба, смотрите статью [[Sky List]]. | Чтобы добиться результата, когда скайбокс не виден в тумане, вам надо применить текстуру <code>sky_day02_10</code> для [[Skybox (2D)#Changing the displayed skybox| скайбокса]] (если посмотреть на исходник, то это текстура с нарисованным эффектом тумана). Для списка текстур неба, смотрите статью [[Sky List]]. | ||
Затем, в свойствах [[env_fog_controller]] должны стоять такие настройки: | Затем, в свойствах [[env_fog_controller]] должны стоять такие настройки: | ||
Line 23: | Line 23: | ||
Эти настройки используется в главе [[Highway 17]] на уровне с ж/д мостом в [[HL2]]. | Эти настройки используется в главе [[Highway 17]] на уровне с ж/д мостом в [[HL2]]. | ||
{{note | {{note|Для быстрого решения проблемы этот способ подойдёт. Однако результат может отличаться от ожидаемого, если вы используете функцию '''"far z-clip plane"''' ентити [[env_fog_controller]], т.к. вы ограничены одной настройкой цвета.}} | ||
<br style="clear:both"> | <br style="clear:both"> | ||
Line 51: | Line 51: | ||
При использовании этого скайбокса и с использованием только '''primary fog color''' у ентити [[env_fog_controller]], все затуманенные модели и геометрические примитивы будут иметь такой же цвет. | При использовании этого скайбокса и с использованием только '''primary fog color''' у ентити [[env_fog_controller]], все затуманенные модели и геометрические примитивы будут иметь такой же цвет. | ||
{{note | {{note|Это не значит, что не надо использовать значение '''secondary fog color'''. Просто с использованием этого параметра необходимо помнить, что расстояние между игроком и скайбоксом должно быть всегда меньше параметра '''Fog End'''(конец тумана), к тому же мы не стали использовать переменную <code>"$nofog" 1</code> в файлах материалов нашего скайбокса. При отсутствии переменной <code>"$nofog" 1</code> туман будет отображаться и на текстуре неба. Однако этот метод используется только тогда, когда перерисовывается вся геометрия уровня.}} | ||
{{tip | {{tip|для этой цели можно использовать [[3D Skybox]].}} | ||
==Смотрите также== | ==Смотрите также== | ||
Line 58: | Line 58: | ||
* [[Dust, Fog, & Smoke|Пыль, туман и дым]] | * [[Dust, Fog, & Smoke|Пыль, туман и дым]] | ||
[[Category:Level Design | [[Category:Level Design]] |
Revision as of 18:05, 25 June 2023
Применение тумана для скайбоксов

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

Быстрое решение проблемы
Чтобы добиться результата, когда скайбокс не виден в тумане, вам надо применить текстуру sky_day02_10
для скайбокса (если посмотреть на исходник, то это текстура с нарисованным эффектом тумана). Для списка текстур неба, смотрите статью Sky List.
Затем, в свойствах env_fog_controller должны стоять такие настройки:
Primary fog color(первичный цвет тумана): 176 192 202
Secondary fog color(вторичный цвет тумана): 206 216 222
Эти настройки используется в главе Highway 17 на уровне с ж/д мостом в HL2.

Создание своей текстуры неба (скайбокса)
В этой части статьи мы создадим скайбокс, который использует primary fog color. Обычно их 6, и разрешение каждого файла равно 1024x1024, но в этом уроке мы создадим один файл с меньшим размером для улучшения производительности.
Cоздадим .vtf-файл с цветом вашего тумана. Лучше сохранить его в папку skybox. Запомните его имя. В этом уроке он называется sky_fog_tex.
Теперь создайте 6 .vmt-материалов, необходимых для скайбокса. В этом уроке текстура называется sky_fog:
sky_fogbk.vmt //Back - Задняя стенка скайбокса sky_fogdn.vmt //Down - Нижняя стенка скайбокса sky_fogft.vmt //Front - Передняя стенка скайбокса sky_foglf.vmt //Left - Левая стенка скайбокса sky_fogrt.vmt //Right - Правая стенка скайбокса sky_fogup.vmt //Up - Верхняя стенка скайбокса
Они все должны содержать следующие строки:
"UnlitGeneric" { "$baseTexture" "skybox/sky_fog" }
В отличии от обычных текстур неба, мы не используем переменную"$nofog" 1
.
При использовании этого скайбокса и с использованием только primary fog color у ентити env_fog_controller, все затуманенные модели и геометрические примитивы будут иметь такой же цвет.

"$nofog" 1
в файлах материалов нашего скайбокса. При отсутствии переменной "$nofog" 1
туман будет отображаться и на текстуре неба. Однако этот метод используется только тогда, когда перерисовывается вся геометрия уровня.
Смотрите также
- Пример HL2 vmf проекта с смешанным 3D skybox туманом
- Пыль, туман и дым