Ru/Fog tutorial: Difference between revisions
Line 25: | Line 25: | ||
<br style="clear:both"> | <br style="clear:both"> | ||
==Создание | ==Создание своей текстуры неба (скайбокса)== | ||
В этой части статьи мы создадим скайбокс, который использует <code>primary fog color</code>. Хотя обычный skybox имеет 6 [[Vtf|файлов текстур]], размером 1024x1024 пикселов, нам только нужна одна меньшего размера, так мы уменьшим размер кешированной текстуры. | |||
Во-первых, создаем [[VTF|.vtf]] с цветом вашего тумана. Лучше сохранить его в | Во-первых, создаем [[VTF|.vtf-файл]] с цветом вашего тумана. Лучше сохранить его в папку '''skybox'''. Запомните его имя. В этом уроке он называется ''sky_fog_tex''. | ||
Теперь создайте 6 [[VMT|.vmt]] необходимых для | Теперь создайте 6 [[VMT|.vmt-материалов]], необходимых для скайбокса. В этом уроке текстура называется ''sky_fog'': | ||
<pre>sky_fogbk.vmt | <pre>sky_fogbk.vmt //Back - Задняя стенка скайбокса | ||
sky_fogdn.vmt | sky_fogdn.vmt //Down - Нижняя стенка скайбокса | ||
sky_fogft.vmt | sky_fogft.vmt //Front - Передняя стенка скайбокса | ||
sky_foglf.vmt | sky_foglf.vmt //Left - Левая стенка скайбокса | ||
sky_fogrt.vmt | sky_fogrt.vmt //Right - Правая стенка скайбокса | ||
sky_fogup.vmt</pre> | sky_fogup.vmt //Up - Верхняя стенка скайбокса | ||
</pre> | |||
Они все | Они все должны содержать следующие строки: | ||
<pre> "UnlitGeneric" | <pre> "UnlitGeneric" | ||
{ | { | ||
Line 45: | Line 46: | ||
}</pre> | }</pre> | ||
В отличии от обычных текстур неба, мы не используем переменную<code>"$nofog" 1</code>. | |||
При использовании этого скайбокса и с использованием только '''primary fog color''' у ентити [[env_fog_controller]], все затуманенные модели и геометрические примитивы будут иметь такой же цвет. | |||
{{note:ru|Это не значит, что не надо использовать значение '''secondary fog color'''. Просто с использованием этого парметра необходимо помнить, что расстояние между игроком и скайбоксом должно быть всегда меньше параметра '''Fog End'''(конец тумана), к тому же мы не стали использовать переменную <code>"$nofog" 1</code> в файлах материалов нашего скайбокса. При отсутствии переменной <code>"$nofog" 1</code> туман будет отображаться и на текстуре неба. Однако этот метод используется только тогда, когда перерисовывается вся геометрия уровня.}} | |||
{{tip:ru|для этой цели можно использовать [[3D Skybox]].}} | |||
==Смотрите также== | ==Смотрите также== |
Revision as of 10:06, 30 April 2009
Применение тумана для скайбоксов

Когда у вас есть туман на карте, вы можете столкнуться с проблемой, что туман действует на геометрию и модели, но не на скайбокс.
Для скайбоксов вы можете использовать материалы, которые были использованы в других уровнях 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
. Хотя обычный skybox имеет 6 файлов текстур, размером 1024x1024 пикселов, нам только нужна одна меньшего размера, так мы уменьшим размер кешированной текстуры.
Во-первых, создаем .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, все затуманенные модели и геометрические примитивы будут иметь такой же цвет.
Template:Note:ru Template:Tip:ru
Смотрите также
- Пример HL2 vmf проекта с смешанным 3D skybox туманом
- Пыль, туман и дым