Ru/Fog tutorial: Difference between revisions
m (Nesciuse moved page Fog tutorial:ru to Ru/Fog tutorial over redirect: -Language prefixes)  | 
				m (Using L template for links)  | 
				||
| Line 2: | Line 2: | ||
==Применение тумана для скайбоксов==  | ==Применение тумана для скайбоксов==  | ||
[[File:Fogtute01.jpg|thumb|300px|right|Настройки тумана в ентити   | [[File:Fogtute01.jpg|thumb|300px|right|Настройки тумана в ентити {{L|env_fog_controller}} не влияют на скайбокс.]]  | ||
Когда у вас есть туман на карте, вы можете столкнуться с проблемой, что туман действует на геометрию и модели, но не на   | Когда у вас есть туман на карте, вы можете столкнуться с проблемой, что туман действует на геометрию и модели, но не на {{L|Skybox (2D)|скайбокс}}.  | ||
Для скайбоксов вы можете использовать материалы, которые были использованы в других уровнях   | Для скайбоксов вы можете использовать материалы, которые были использованы в других уровнях {{L|HL2}} или создать новый. В последней версии движка улучшили производительность визуализации тумана и добавили новые возможности для настройки.  | ||
{{note|  | {{note|{{L|3D Skybox}} использует свои собственные настройки тумана в энтити {{L|sky_camera}}. Для лучшего результата сопоставьте эти настройки с вашими {{L|env_fog_controller}}.}}  | ||
{{clr}}  | {{clr}}  | ||
| Line 14: | Line 14: | ||
[[File:Fogtute02.jpg|thumb|300px|right|Пример удачного использования тумана, из-за совпадения его цвета с оттенком текстуры неба.]]  | [[File:Fogtute02.jpg|thumb|300px|right|Пример удачного использования тумана, из-за совпадения его цвета с оттенком текстуры неба.]]  | ||
Чтобы добиться результата, когда скайбокс не виден в тумане, вам надо применить текстуру <code>sky_day02_10</code> для [[Skybox (2D)#Changing the displayed skybox| скайбокса]] (если посмотреть на исходник, то это текстура с нарисованным эффектом тумана). Для списка текстур неба, смотрите статью   | Чтобы добиться результата, когда скайбокс не виден в тумане, вам надо применить текстуру <code>sky_day02_10</code> для [[Skybox (2D)#Changing the displayed skybox| скайбокса]] (если посмотреть на исходник, то это текстура с нарисованным эффектом тумана). Для списка текстур неба, смотрите статью {{L|Sky List}}.  | ||
Затем, в свойствах   | Затем, в свойствах {{L|env_fog_controller}} должны стоять такие настройки:  | ||
'''Primary fog color'''(первичный цвет тумана): <code>176 192 202</code><br/>  | '''Primary fog color'''(первичный цвет тумана): <code>176 192 202</code><br/>  | ||
'''Secondary fog color'''(вторичный цвет тумана): <code>206 216 222</code>  | '''Secondary fog color'''(вторичный цвет тумана): <code>206 216 222</code>  | ||
Эти настройки используется в главе   | Эти настройки используется в главе {{L|Highway 17}} на уровне с ж/д мостом в {{L|HL2}}.  | ||
{{note|Для быстрого решения проблемы этот способ подойдёт. Однако результат может отличаться от ожидаемого, если вы используете функцию '''"far z-clip plane"''' ентити   | {{note|Для быстрого решения проблемы этот способ подойдёт. Однако результат может отличаться от ожидаемого, если вы используете функцию '''"far z-clip plane"''' ентити {{L|env_fog_controller}}, т.к. вы ограничены одной настройкой цвета.}}  | ||
{{clr}}  | {{clr}}  | ||
| Line 30: | Line 30: | ||
В этой части статьи мы создадим скайбокс, который использует '''primary fog color'''. Обычно их 6, и разрешение каждого файла равно 1024x1024, но в этом уроке мы создадим один файл с меньшим размером для улучшения производительности.  | В этой части статьи мы создадим скайбокс, который использует '''primary fog color'''. Обычно их 6, и разрешение каждого файла равно 1024x1024, но в этом уроке мы создадим один файл с меньшим размером для улучшения производительности.  | ||
Cоздадим   | Cоздадим {{L|VTF|.vtf-файл}} с цветом вашего тумана. Лучше сохранить его в папку '''skybox'''. Запомните его имя. В этом уроке он называется ''sky_fog_tex''.  | ||
Теперь создайте 6   | Теперь создайте 6 {{L|VMT|.vmt-материалов}}, необходимых для скайбокса. В этом уроке текстура называется ''sky_fog'':  | ||
<pre>sky_fogbk.vmt 		//Back - Задняя стенка скайбокса  | <pre>sky_fogbk.vmt 		//Back - Задняя стенка скайбокса  | ||
sky_fogdn.vmt		//Down - Нижняя стенка скайбокса  | sky_fogdn.vmt		//Down - Нижняя стенка скайбокса  | ||
| Line 49: | Line 49: | ||
В отличии от обычных текстур неба, мы не используем переменную<code>"$nofog" 1</code>.  | В отличии от обычных текстур неба, мы не используем переменную<code>"$nofog" 1</code>.  | ||
При использовании этого скайбокса и с использованием только '''primary fog color''' у ентити   | При использовании этого скайбокса и с использованием только '''primary fog color''' у ентити {{L|env_fog_controller}}, все затуманенные модели и геометрические примитивы будут иметь такой же цвет.  | ||
{{note|Это не значит, что не надо использовать значение '''secondary fog color'''. Просто с использованием этого параметра необходимо помнить, что расстояние между игроком и скайбоксом должно быть всегда меньше параметра '''Fog End'''(конец тумана), к тому же мы не стали использовать переменную <code>"$nofog" 1</code> в файлах материалов нашего скайбокса. При отсутствии переменной <code>"$nofog" 1</code> туман будет отображаться и на текстуре неба. Однако этот метод используется только тогда, когда перерисовывается вся геометрия уровня.}}  | {{note|Это не значит, что не надо использовать значение '''secondary fog color'''. Просто с использованием этого параметра необходимо помнить, что расстояние между игроком и скайбоксом должно быть всегда меньше параметра '''Fog End'''(конец тумана), к тому же мы не стали использовать переменную <code>"$nofog" 1</code> в файлах материалов нашего скайбокса. При отсутствии переменной <code>"$nofog" 1</code> туман будет отображаться и на текстуре неба. Однако этот метод используется только тогда, когда перерисовывается вся геометрия уровня.}}  | ||
{{tip|для этой цели можно использовать   | {{tip|для этой цели можно использовать {{L|3D Skybox}}.}}  | ||
==Смотрите также==  | ==Смотрите также==  | ||
* Пример HL2 vmf проекта с [http://type3studios.com/downloads/tutorials/SdkNutsTutorials/wiseEscape.zip смешанным 3D skybox туманом]  | * Пример HL2 vmf проекта с [http://type3studios.com/downloads/tutorials/SdkNutsTutorials/wiseEscape.zip смешанным 3D skybox туманом]  | ||
*   | * {{L|Dust, Fog, & Smoke|Пыль, туман и дым}}  | ||
[[Category:Level Design]]  | [[Category:Level Design]]  | ||
Latest revision as of 06:26, 11 July 2024
Применение тумана для скайбоксов
Когда у вас есть туман на карте, вы можете столкнуться с проблемой, что туман действует на геометрию и модели, но не на скайбокс.
Для скайбоксов вы можете использовать материалы, которые были использованы в других уровнях 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 туманом
 - Пыль, туман и дым