Ru/Lighting: Difference between revisions
< Ru
		
		
		
		Jump to navigation
		Jump to search
		mNo edit summary  | 
				|||
| (44 intermediate revisions by 9 users not shown) | |||
| Line 1: | Line 1: | ||
{{  | {{LanguageBar|title=Освещение}}  | ||
|title=Освещение  | |||
}}  | |||
{{Abstract Mapping}}  | {{Abstract Mapping}}  | ||
== Руководства ==  | == Руководства ==  | ||
[[  | [[File:Proper lighting example.png|right|thumb|Пример хорошо освещённой комнаты.]]  | ||
*   | * {{L|Adding Light|Добавление света}} - Уроки для начинающих о том, как настраивать основные энтити {{L|light|света}}.  | ||
*   | * {{L|Intermediate Lighting|Вспомогательное освещение}} - Подробный материал обо всех источниках света.  | ||
*   | * {{L|Advanced Lighting|Продвинутое освещение}}  | ||
*   | * {{L|Constant-Linear-Quadratic Falloff|Константно-Линейно-Квадратичное рассеивание}} - Простое объяснение старой системы C-L-Q затухания света.  | ||
*   | * {{L|HDR}} - Освещение, поддерживающее технологию широкого динамического диапазона.  | ||
== Виды ==  | == Виды ==  | ||
=== Статичные источники света ===  | === Статичные источники света ===  | ||
{{  | {{Tip|Статичный свет компилируется в {{L|Lightmap|лайтмапы}}, освещающие {{L|brush|браши}}, {{L|model|модели}}, {{L|Cubemaps|кубмапы}} и дают статичные {{L|reflection|отражения}}.  | ||
Это   | Это {{L|free|упрощает}} процесс рендеринга, поскольку источники освещения уже прописаны в карту.}}  | ||
;  | ;{{ent|light}}:Неподвижный, все-направленный точечный источник света (различные лампы, огонь и др.).  | ||
;  | ;{{ent|light_spot}}:Неподвижный, однонаправленный точечный источник света (например, направленный прожектор). Конический угол луча не должен превышать 90°.  | ||
;  | ;{{ent|light_environment}}: Содержит два связанных источника света:  | ||
:*  | :*Рассеянный 'окружающий' свет (отраженный от облаков и атмосферы в целом), исходящий из всех поверхностей скайбокса.  | ||
:*  | :*Направленный 'яркий' свет (солнечный или лунный), падающий в одном направлении.  | ||
:  | :Оба излучаются материалом [[Tool textures#skybox|toolsskybox]] везде, где он есть на карте. См. также {{L|Skybox Basics|Скайбокс}}.  | ||
;  | ;{{ent|env_particlelight}}: Освещает частицы, порождаемые {{ent|env_smokestack}}. Частицы не подвержены нормальному освещению. Используйте не более двух.  | ||
;  | ;{{L|Glowing Textures|Светящиеся текстуры}}  | ||
:  | :{{L|Brush|Брашевые}} поверхности со светоизлучающим материалом (определяемым в <code>game_dir/lights.rad</code>), который отбрасывает свет на угол 180°.  | ||
===   | === Статичные светоприёмники ===  | ||
;  | ;{{L|Brush|Браши}}  | ||
:  | :Инструмент {{L|Lightmap_Scale|Масштаб карты освещения}} диалогового окна {{L|Hammer Face Edit Dialog}} может быть использован для управления резкостью и размытостью лайтмапа на поверхности браша - эффект наиболее заметен в зонах с повышенной контрастностью, например, в затенённых местах. Обратите внимание, что добавление новых источников света не сильно скажется на производительности, но уменьшение масштаба карты освещения (т.е. увеличение разрешения) сразу увеличит размер карты и объём занимаемой памяти.  | ||
;  | ;{{ent|prop_static}}  | ||
:  | :В отличие от других моделей, prop_static светится статично: значение освещения сохраняется для каждой {{L|vertex|вершины}}, а модель {{L|collision mesh|сетки столкновений}} (или, опционально, {{L|reference mesh}}) используется для расчёта теней.  | ||
:  | :Существуют следующие опции:  | ||
:*<code>disableshadows</code> -   | :*<code>disableshadows</code> - Не отбрасывать тени;  | ||
:*<code>disablevertexlighting</code> -   | :*<code>disablevertexlighting</code> - Сохранять только одно значение освещения для всей модели;  | ||
:*<code>disableselfshadowing</code> -   | :*<code>disableselfshadowing</code> - Не позволять энтити отбрасывать тень на себя;  | ||
:*<code>ignorenormals</code> -   | :*<code>ignorenormals</code> - При расчёте освещения игнорировать данные нормалей вершин. Это чрезвычайно полезно для листвы и других тонких типов вершин сетки.  | ||
===   | === Динамические источники света ===  | ||
{{  | {{Tip|Динамическое освещение вычисляется в процессе игры, что делает рендеринг более {{L|expensive|дорогим}}.}}  | ||
[[  | [[File:Shadowmap.jpg|thumb|180px|{{L|env_projectedtexture}} светит из дверного проёма.]]  | ||
;  | ;{{ent|light_dynamic}}:Простой, однонаправленный динамический свет, который может быть перемещён, повёрнут и отрегулирован.  | ||
;  | ;{{ent|point_spotlight}}:Эффект луча от прожектора с дополнительным динамическим источником света в точке падения на поверхность.  | ||
;  | ;{{ent|npc_spotlight}}:Прожектор {{L|NPC}}, похожий на point_spotlight, но с возможностью отслеживания целей.  | ||
;  | ;{{ent|env_projectedtexture}}:Динамический источник, который светит не однотонным цветом, а определённой текстурой и в то же время 'вычитает' реалистичные динамические тени. Влияет на все поверхности, которые могут принимать свет, и используется в качестве фонарика игрока в {{L|Episode Two}}.  | ||
===   | === Динамические тени ===  | ||
{{  | {{Tip|Динамические тени отбрасываются только {{L|model|моделями}} (NPC, физическими пропами и т.д.), и только на {{L|brush|брашевые}} поверхности (от статичных и динамических источников света). Они рассчитываются в реальном времени, поэтому довольно грубы и достаточно {{L|showbudget|затратны}} для визуализации.}}    | ||
{{warning|   | {{warning| Это не *настоящие* тени, а процедурные (создаваемые кодом) текстуры, проецируемые объектом. В Left 4 Dead, Portal 2 и Alien Swarm направление теней вычисляется на основе энтити, и обусловлено близостью к ней света. Но не в модах Source2006/2007/2013, если там не используются {{L|Dynamic RTT shadow angles in Source 2007|Динамические RTT углы теней из Source 2007-го года}}.}}  | ||
{{warning|  | {{warning|Иногда динамические тени проникают сквозь стены и полы, выдавая местоположение игроков или объектов. Если вы столкнулись с этой проблемой, используйте {{L|info_no_dynamic_shadow}}.}}  | ||
{{  | {{Note|Тени "скользят" по визуальной сетке, если только нет shadowlod, задаваемого в {{L|QC}}. Shadow LOD при создании тени используют низкую детализацию. Это не относится к теням на карте (фонарикам, {{L|env_projectedtexture}}) }}  | ||
{{  | {{Note|Если динамические тени пересекаются, то они не сливаются друг с другом или освещением карты. Это может приводить к нежелательным эффектам 'удвоения', когда, например, физические пропы находятся на физическом пропе стола. Чтобы обойти эту проблему, вы можете включать и отключать динамические тени требуемых энтити.}}  | ||
{{  | {{Note|Динамические тени поддерживают полупрозрачность. Если ваша модель имеет разные уровни прозрачности, они могут отразиться на тени.}}  | ||
;  | ;{{ent|shadow_control}}:Точечная энтити, использует управление динамическими тенями по всей карте, в том числе максимальное расстояние отбрасывания, направление отбрасывания и резкость/рассеяние.  | ||
;  | ;{{ent|info_no_dynamic_shadow}}:Точечное энтити, использет список {{L|Brush|брашевых}} поверхностей, чтобы ''не'' отбрасывать динамические тени.    | ||
;  | ;Энтити {{ent|prop_physics}}: Имеет значение "shadowcastdist" для переопределения дальности отбрасывания динамических теней.  | ||
;  | ;Энтити {{ent|prop_dynamic}}: Имеет значение "disableshadows" и входы "enableshadows" и "disableshadows" для управления отбрасываемыми ими динамическими тенями.  | ||
;NPC   | ;Энтити NPC : Имеет управление prop_dynamic shadow, а также "disablereceiveshadows" {{TODO|чтобы предотвращать...?}}  | ||
===   | === Эффекты Тиндаля ===  | ||
{{L|Wikipedia:Tyndall effect|Эффекты Тиндаля}} вызваны рассеянием света на взвешенных (коллоидных) частицах в прозрачной среде. Например, автомобильные фары в тумане.  | |||
*   | * {{L|Wikipedia:Halo_(optical_phenomenon)|Эффекты Гало}} (светящийся спрайт) :    | ||
:*  | :*{{ent|env_sprite}} - энтити, используемая для создания всенаправленного свечения или засветки.  | ||
:*  | :*{{ent|env_lightglow}} - асимметричное свечение (для зон с контрастным освещением).  | ||
:*  | :*{{ent|env_sun}} - добавляет яркое пятно с ореолом в {{L|Skybox|скайбоксе}} для задания положения Солнца или Луны.  | ||
*   | * {{L|Wikipedia:Light beam|Эффекты ярких лучей}} (объёмный свет) :    | ||
:*  | :*Брашевая текстура : <code>models/effects/vol_light001</code>    | ||
:*  | :*Брашевая текстура : <code>models/effects/vol_light002</code>  | ||
:*  | :*Модель : <code>models/Effects/vol_light.mdl</code> - используется вместе с  {{ent|prop_static}}.  | ||
*   | * См. также {{L|Render Modes|Режимы отрисовки}} для спрайтов, особенно [[Render Modes#World Space Glow (9)|Свечение]]''.  | ||
==   | == Стандартные значения ==  | ||
{| class="wikitable"  | |||
:  | ! !! Яркость  | ||
|-  | |||
| Автомобильные фары  | |||
:  | | style="background: #e7dfc0;" class="table-yes"|<code style="color:black;">231 223 192</code>  | ||
;  | |-  | ||
| Лампа Комбайнов  | |||
:  | | style="background: #93e2f0;" class="table-yes"|<code style="color:black;">147 226 240</code>  | ||
;  | |-  | ||
| Вольфрамовая лампа  | |||
| style="background: #fed892;" class="table-yes"|<code style="color:black;">254 216 146</code>  | |||
|-  | |||
:  | | Флуоресцентная труба  | ||
| style="background: #9fedd7;" class="table-yes"|<code style="color:black;">159 237 215</code>  | |||
|-  | |||
:  | | Лампа накаливания  | ||
:  | | style="background: #fff591;" class="table-yes"|<code style="color:black;">255 245 145</code>  | ||
|}  | |||
Значения для {{L|Skybox Basics|скайбоксов}} смотрите в {{L|List of Skyboxes|списке}}.  | |||
==   | == Примечания ==  | ||
*  | *Указание имени источника делает его гораздо тяжелее для рендеринга. Давайте имена только необходимым источникам света. Несколько источников света с одинаковыми именами движку проще обрабатывать, чем с разными.  | ||
*  | *{{L|light_dynamic}} - самый тяжёлый, и на некоторых системах может не отображаться  | ||
*  | *Основные энтити света не связаны с видимыми источниками (например, лампочки). Для этого вам нужна модель. Смотрите список {{L|HL2 Light Props|моделей освещения}}.  | ||
*  | *Основные энтити света не "отсвечивают", как будто в тумане или сумерках. Чтобы это заработало, скомпилируйте и запустите карту с включённым {{L|HDR}}, или добавьте {{L|point_spotlight}} (с ''отключенным'' динамическим освещением, если таковое не нужно) или энтитю {{L|env_lightglow}}.  | ||
*  | *Карты не будут освещены, если вы не запустите {{L|vrad}} (или эквивалент). VRAD не сможет работать как надо и не будет рассчитывать реалистичное отражение света, если на карте присутствуют {{L|Leak|утечки}}.  | ||
*  | *Некоторые текстуры сами отбрасывают свет и могут быть созданы с помощью <code>{{L|lights.rad}}</code> в папке мода или в <code>sourcesdk/bin</code>.  | ||
*  | *Перемещаемые объекты не меняют свечения. Их освещение будет рассчитываться только в соответствии  с их положением в Хаммере (например, браш из тёмной комнаты не станет ярче, если его перенести в освещённую комнату).  | ||
==   | == {{L|Console command|Консольные команды}} ==  | ||
[[  | [[File:Mat fullbright 2.jpg|thumb|<code>mat_fullbright 2</code>. Ярко-белые физические модели, кажется, работают с ошибкой; они освещаются правильно во время движения.]]  | ||
;<code>mat_fullbright <0-2></code>  | ;<code>mat_fullbright <0-2></code>  | ||
:<code>0</code>   | :<code>0</code> - нормальное освещение.  | ||
:<code>1</code>   | :<code>1</code> - 'полноценное' освещение, когда всё освещено на 100%.  | ||
:<code>2</code>   | :<code>2</code> был введён в Orange Box и отображает 'только освещение'. Он заменяет все текстуры на однотонный цвет, позволяя вам увидеть что, где и как излучает свет.  | ||
==   | == См. также ==  | ||
*   | * {{L|HL2 Light Props}}  | ||
*   | * {{L|Color Theory in Level Design|Теория цвета (дизайн уровней)}}  | ||
* [[List_of_entities#Light_entities|  | * [[List_of_entities#Light_entities|Энтити света]] - Список энтити света.  | ||
*   | * {{L|Intermediate Lighting|Вспомогательное освещение}}  | ||
*   | * {{L|Advanced Lighting|Продвинутое освещение}}  | ||
*   | * {{L|Window lighting|Освещение из окна}} - Как имитировать солнечный свет, исходящий из проёмов.  | ||
==   | == Внешние ссылки ==  | ||
<!--    | <!--    | ||
* [http://www.halflifestorm.com/?page=tutorials&tutorial=18 Understanding and Using Lightmaps] - Tutorial  | * [http://www.halflifestorm.com/?page=tutorials&tutorial=18 Understanding and Using Lightmaps] - Tutorial  | ||
| Line 142: | Line 140: | ||
-->  | -->  | ||
{{ACategory|Level Design}}  | |||
{{ACategory|Hubs}}  | |||
{{ACategory|Lighting|*}}  | |||
Latest revision as of 06:18, 30 May 2025
| Серия Воссоздание окружающей обстановки Выскажите свои мысли — Помогите нам воплотить больше идей | 
|---|
| 
 Снаряжение | Животные и существа | Муравьиные львы | Лучи и лазеры | Кабели и верёвки | Движущиеся облака | Теория цвета | Битвы | Комбайны | Сжатие ресурсов | Двери | Пыль, туман и дым | Лифты | Переключение карт | Внешнее освещение, солнце, погода и окружение | Взрывы | Огонь | Растительность | Стекло и окна | Хэдкраб | Жизнеспособность | Лестницы | Освещение | Оптимизация | Физические объекты | Сканеры сетчатки | Звук и музыка | Спецэффекты | Ландшафт | Поезда | Турели | Вода | Оружие | Зомби  | 
Руководства
- Добавление света - Уроки для начинающих о том, как настраивать основные энтити света.
 - Вспомогательное освещение - Подробный материал обо всех источниках света.
 - Продвинутое освещение
 - Константно-Линейно-Квадратичное рассеивание - Простое объяснение старой системы C-L-Q затухания света.
 - HDR - Освещение, поддерживающее технологию широкого динамического диапазона.
 
Виды
Статичные источники света
- light
 - Неподвижный, все-направленный точечный источник света (различные лампы, огонь и др.).
 - light_spot
 - Неподвижный, однонаправленный точечный источник света (например, направленный прожектор). Конический угол луча не должен превышать 90°.
 - light_environment
 - Содержит два связанных источника света:
- Рассеянный 'окружающий' свет (отраженный от облаков и атмосферы в целом), исходящий из всех поверхностей скайбокса.
 - Направленный 'яркий' свет (солнечный или лунный), падающий в одном направлении.
 
 - Оба излучаются материалом toolsskybox везде, где он есть на карте. См. также Скайбокс.
 - env_particlelight
 - Освещает частицы, порождаемые env_smokestack. Частицы не подвержены нормальному освещению. Используйте не более двух.
 - Светящиеся текстуры
 - Брашевые поверхности со светоизлучающим материалом (определяемым в 
game_dir/lights.rad), который отбрасывает свет на угол 180°. 
Статичные светоприёмники
- Браши
 - Инструмент Масштаб карты освещения диалогового окна Hammer Face Edit Dialog может быть использован для управления резкостью и размытостью лайтмапа на поверхности браша - эффект наиболее заметен в зонах с повышенной контрастностью, например, в затенённых местах. Обратите внимание, что добавление новых источников света не сильно скажется на производительности, но уменьшение масштаба карты освещения (т.е. увеличение разрешения) сразу увеличит размер карты и объём занимаемой памяти.
 - prop_static
 - В отличие от других моделей, prop_static светится статично: значение освещения сохраняется для каждой вершины, а модель сетки столкновений (или, опционально, reference mesh) используется для расчёта теней.
 - Существуют следующие опции:
disableshadows- Не отбрасывать тени;disablevertexlighting- Сохранять только одно значение освещения для всей модели;disableselfshadowing- Не позволять энтити отбрасывать тень на себя;ignorenormals- При расчёте освещения игнорировать данные нормалей вершин. Это чрезвычайно полезно для листвы и других тонких типов вершин сетки.
 
Динамические источники света
env_projectedtexture светит из дверного проёма.
- light_dynamic
 - Простой, однонаправленный динамический свет, который может быть перемещён, повёрнут и отрегулирован.
 - point_spotlight
 - Эффект луча от прожектора с дополнительным динамическим источником света в точке падения на поверхность.
 - npc_spotlight
 - Прожектор NPC, похожий на point_spotlight, но с возможностью отслеживания целей.
 - env_projectedtexture
 - Динамический источник, который светит не однотонным цветом, а определённой текстурой и в то же время 'вычитает' реалистичные динамические тени. Влияет на все поверхности, которые могут принимать свет, и используется в качестве фонарика игрока в Episode Two.
 
Динамические тени
- shadow_control
 - Точечная энтити, использует управление динамическими тенями по всей карте, в том числе максимальное расстояние отбрасывания, направление отбрасывания и резкость/рассеяние.
 - info_no_dynamic_shadow
 - Точечное энтити, использет список брашевых поверхностей, чтобы не отбрасывать динамические тени.
 - Энтити prop_physics
 - Имеет значение "shadowcastdist" для переопределения дальности отбрасывания динамических теней.
 - Энтити prop_dynamic
 - Имеет значение "disableshadows" и входы "enableshadows" и "disableshadows" для управления отбрасываемыми ими динамическими тенями.
 - Энтити NPC
 - Имеет управление prop_dynamic shadow, а также "disablereceiveshadows" Нужно сделать: чтобы предотвращать...?
 
Эффекты Тиндаля
Эффекты Тиндаля вызваны рассеянием света на взвешенных (коллоидных) частицах в прозрачной среде. Например, автомобильные фары в тумане.
- Эффекты Гало (светящийся спрайт) :
 
- env_sprite - энтити, используемая для создания всенаправленного свечения или засветки.
 - env_lightglow - асимметричное свечение (для зон с контрастным освещением).
 - env_sun - добавляет яркое пятно с ореолом в скайбоксе для задания положения Солнца или Луны.
 
- Эффекты ярких лучей (объёмный свет) :
 
- Брашевая текстура : 
models/effects/vol_light001 - Брашевая текстура : 
models/effects/vol_light002 - Модель : 
models/Effects/vol_light.mdl- используется вместе с prop_static. 
- Брашевая текстура : 
 
- См. также Режимы отрисовки для спрайтов, особенно Свечение.
 
Стандартные значения
| Яркость | |
|---|---|
| Автомобильные фары | 231 223 192
 | 
| Лампа Комбайнов | 147 226 240
 | 
| Вольфрамовая лампа | 254 216 146
 | 
| Флуоресцентная труба | 159 237 215
 | 
| Лампа накаливания | 255 245 145
 | 
Значения для скайбоксов смотрите в списке.
Примечания
- Указание имени источника делает его гораздо тяжелее для рендеринга. Давайте имена только необходимым источникам света. Несколько источников света с одинаковыми именами движку проще обрабатывать, чем с разными.
 - light_dynamic - самый тяжёлый, и на некоторых системах может не отображаться
 - Основные энтити света не связаны с видимыми источниками (например, лампочки). Для этого вам нужна модель. Смотрите список моделей освещения.
 - Основные энтити света не "отсвечивают", как будто в тумане или сумерках. Чтобы это заработало, скомпилируйте и запустите карту с включённым HDR, или добавьте point_spotlight (с отключенным динамическим освещением, если таковое не нужно) или энтитю env_lightglow.
 - Карты не будут освещены, если вы не запустите vrad (или эквивалент). VRAD не сможет работать как надо и не будет рассчитывать реалистичное отражение света, если на карте присутствуют утечки.
 - Некоторые текстуры сами отбрасывают свет и могут быть созданы с помощью 
lights.radв папке мода или вsourcesdk/bin. - Перемещаемые объекты не меняют свечения. Их освещение будет рассчитываться только в соответствии с их положением в Хаммере (например, браш из тёмной комнаты не станет ярче, если его перенести в освещённую комнату).
 
Консольные команды
mat_fullbright <0-2>0- нормальное освещение.1- 'полноценное' освещение, когда всё освещено на 100%.2был введён в Orange Box и отображает 'только освещение'. Он заменяет все текстуры на однотонный цвет, позволяя вам увидеть что, где и как излучает свет.
См. также
- HL2 Light Props
 - Теория цвета (дизайн уровней)
 - Энтити света - Список энтити света.
 - Вспомогательное освещение
 - Продвинутое освещение
 - Освещение из окна - Как имитировать солнечный свет, исходящий из проёмов.
 
Внешние ссылки
- Lighting Tutorial - Covers entities & variables with examples
 - Quadratic/Linear/Constant in Lights