Ru/Lighting: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
mNo edit summary
 
(41 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar|title=Освещение}}
|title=Освещение
|zh-cn=Lighting:zh-cn
|en=Lighting
}}
{{Abstract Mapping}}
{{Abstract Mapping}}


== Руководства ==
== Руководства ==
[[Image:Proper lighting example.png|right|thumb|Пример хорошо освещённой комнаты.]]
[[File:Proper lighting example.png|right|thumb|Пример хорошо освещённой комнаты.]]
* [[Adding Light:ru|Добавление света]] - Уроки для начинающих о том, как настраивать основные энтити [[light|света]].
* {{L|Adding Light|Добавление света}} - Уроки для начинающих о том, как настраивать основные энтити {{L|light|света}}.
* [[Intermediate Lighting:ru|Промежуточное освещение]] - Подробный материал о всех источниках света.
* {{L|Intermediate Lighting|Вспомогательное освещение}} - Подробный материал обо всех источниках света.
* [[Advanced Lighting:ru|Продвинутое освещение]]
* {{L|Advanced Lighting|Продвинутое освещение}}
* [[Constant-Linear-Quadratic Falloff:ru|Константно-Линейно-Квадратичное рассеивание]] - Простое объяснение старой системы C-L-Q затухания света.
* {{L|Constant-Linear-Quadratic Falloff|Константно-Линейно-Квадратичное рассеивание}} - Простое объяснение старой системы C-L-Q затухания света.
* [[HDR]] - Высокий динамический диапазон освещения.
* {{L|HDR}} - Освещение, поддерживающее технологию широкого динамического диапазона.


== Виды ==
== Виды ==
=== Статичные источники света ===
=== Статичные источники света ===


{{tip:ru|Статичный свет компилируется в [[Lightmap:ru|карты освещения]], которые освещают и [[brush|браши]], и [[model|модели]], и [[Cubemaps|кубмапы]], и дают статичные [[reflection|отражения]].
{{Tip|Статичный свет компилируется в {{L|Lightmap|лайтмапы}}, освещающие {{L|brush|браши}}, {{L|model|модели}}, {{L|Cubemaps|кубмапы}} и дают статичные {{L|reflection|отражения}}.


Это [[free|облегчает]] визуализацию, поскольку огни уже прописаны в карту.}}
Это {{L|free|упрощает}} процесс рендеринга, поскольку источники освещения уже прописаны в карту.}}


;[[light]]:Неподвижный, все-направленный точечный источник света (типа лампочки или пламени).
;{{ent|light}}:Неподвижный, все-направленный точечный источник света (различные лампы, огонь и др.).
;[[light_spot]]:Неподвижный, однонаправленный точечный источник света (типа фонарика). Конический угол луча не должен превышать 90&deg;.
;{{ent|light_spot}}:Неподвижный, однонаправленный точечный источник света (например, направленный прожектор). Конический угол луча не должен превышать 90°.
;[[light_environment]]: Содержит два связанных источника света:
;{{ent|light_environment}}: Содержит два связанных источника света:
:*Рассеянный 'окружающий' свет (отраженный от облаков и атмосферы в целом), исходящий из всех поверхностей скайбокса.
:*Рассеянный 'окружающий' свет (отраженный от облаков и атмосферы в целом), исходящий из всех поверхностей скайбокса.
:*Направленный 'яркий' свет (солнечный или лунный), падающий в одном направлении.
:*Направленный 'яркий' свет (солнечный или лунный), падающий в одном направлении.
:Оба излучаются материалом [[Tool textures#skybox|toolsskybox]] везде, где он есть на карте. См. также [[Skybox:ru]].
:Оба излучаются материалом [[Tool textures#skybox|toolsskybox]] везде, где он есть на карте. См. также {{L|Skybox Basics|Скайбокс}}.
;[[env_particlelight]]: Освещает частицы, порождаемые [[env_smokestack]]. Частицы не подвержены нормальному освещению. Используйте не более двух.
;{{ent|env_particlelight}}: Освещает частицы, порождаемые {{ent|env_smokestack}}. Частицы не подвержены нормальному освещению. Используйте не более двух.
;[[Glowing Textures|Светящиеся текстуры]]
;{{L|Glowing Textures|Светящиеся текстуры}}
:[[Brush|Брашевые]] поверхности со светоизлучающим материалом (определяемый в <code>game_dir/lights.rad</code>), который отбрасывает свет на угол 180&deg;.
:{{L|Brush|Брашевые}} поверхности со светоизлучающим материалом (определяемым в <code>game_dir/lights.rad</code>), который отбрасывает свет на угол 180&deg;.


=== Static light receivers ===
=== Статичные светоприёмники ===


;[[Brush]]es
;{{L|Brush|Браши}}
:This [[Hammer Face Edit Dialog]] tool '[[Lightmap Scale]]' can be used to control how sharp or diffuse the lightmap of a brush surface will be - an effect most noticeable between areas of high contrast, e.g. shadows. Note that while adding extra light sources will not significantly affect performance, decreasing lightmap scale (i.e. increasing resolution) will more directly increase map file size and memory usage.
:Инструмент {{L|Lightmap_Scale|Масштаб карты освещения}} диалогового окна {{L|Hammer Face Edit Dialog}} может быть использован для управления резкостью и размытостью лайтмапа на поверхности браша - эффект наиболее заметен в зонах с повышенной контрастностью, например, в затенённых местах. Обратите внимание, что добавление новых источников света не сильно скажется на производительности, но уменьшение масштаба карты освещения (т.е. увеличение разрешения) сразу увеличит размер карты и объём занимаемой памяти.
;[[prop_static]]
;{{ent|prop_static}}
:Unlike other model entities, prop_static are lit statically: a lighting value is stored for every [[vertex]], and the model's [[collision mesh]] (or, optionally, [[reference mesh]]) is used to calculate lightmap shadows.
:В отличие от других моделей, prop_static светится статично: значение освещения сохраняется для каждой {{L|vertex|вершины}}, а модель {{L|collision mesh|сетки столкновений}} (или, опционально, {{L|reference mesh}}) используется для расчёта теней.
:There are the following options:
:Существуют следующие опции:
:*<code>disableshadows</code> - Do not cast lightmap shadows
:*<code>disableshadows</code> - Не отбрасывать тени;
:*<code>disablevertexlighting</code> - Only store a single lighting value for the entire model
:*<code>disablevertexlighting</code> - Сохранять только одно значение освещения для всей модели;
:*<code>disableselfshadowing</code> - Prevents the entity from casting shadows on itself
:*<code>disableselfshadowing</code> - Не позволять энтити отбрасывать тень на себя;
:*<code>ignorenormals</code> - Ignores normals of vertex data to calculate lighting. This is extremely useful for foliage, and other thin types of vertex meshes.
:*<code>ignorenormals</code> - При расчёте освещения игнорировать данные нормалей вершин. Это чрезвычайно полезно для листвы и других тонких типов вершин сетки.


=== Dynamic light sources ===
=== Динамические источники света ===
{{tip|Dynamic lighting is calculated at runtime, which makes it [[expensive]] to render.}}
{{Tip|Динамическое освещение вычисляется в процессе игры, что делает рендеринг более {{L|expensive|дорогим}}.}}


[[Image:Shadowmap.jpg|thumb|180px|[[env_projectedtexture]] shines from a doorway.]]
[[File:Shadowmap.jpg|thumb|180px|{{L|env_projectedtexture}} светит из дверного проёма.]]


;[[light_dynamic]]:A simple, uni-directional dynamic light that can be moved, turned, and adjusted.
;{{ent|light_dynamic}}:Простой, однонаправленный динамический свет, который может быть перемещён, повёрнут и отрегулирован.
;[[point_spotlight]]:A dynamic spotlight beam effect, with an optional dynamic light source where it hits a surface.
;{{ent|point_spotlight}}:Эффект луча от прожектора с дополнительным динамическим источником света в точке падения на поверхность.
;[[npc_spotlight]]:A spotlight [[NPC]], similar to point_spotlight but with the capability of tracking targets.
;{{ent|npc_spotlight}}:Прожектор {{L|NPC}}, похожий на point_spotlight, но с возможностью отслеживания целей.
;[[env_projectedtexture]]:A dynamic light that lights with a texture rather than a solid colour, and which also 'subtracts' realistic dynamic shadows. Affects all surfaces that can accept lighting, and is used for the player [[flashlight]] in [[Episode Two]].
;{{ent|env_projectedtexture}}:Динамический источник, который светит не однотонным цветом, а определённой текстурой и в то же время 'вычитает' реалистичные динамические тени. Влияет на все поверхности, которые могут принимать свет, и используется в качестве фонарика игрока в {{L|Episode Two}}.


=== Dynamic shadows ===
=== Динамические тени ===


{{tip|Dynamic Shadows are cast only by world [[model]]s (NPCs, phys-props, etc), and only onto [[brush]] surfaces (from both Static and Dynamic light sources). They are calculated at runtime, so they are quite crude and relatively [[showbudget|expensive]] to render.}}  
{{Tip|Динамические тени отбрасываются только {{L|model|моделями}} (NPC, физическими пропами и т.д.), и только на {{L|brush|брашевые}} поверхности (от статичных и динамических источников света). Они рассчитываются в реальном времени, поэтому довольно грубы и достаточно {{L|showbudget|затратны}} для визуализации.}}  


{{warning| These are not *really* shadows, they are procedural(generated in code) textures projected away from the caster. In Left 4 Dead, Portal 2 and Alien Swarm, the direction of a shadow is calculated on a per-entity basis, and dictated by the closest light to the entity. But not in Source2006/2007/2013 mods, unless you apply [[Dynamic RTT shadow angles in Source 2007]] to your mod.}}
{{warning| Это не *настоящие* тени, а процедурные (создаваемые кодом) текстуры, проецируемые объектом. В Left 4 Dead, Portal 2 и Alien Swarm направление теней вычисляется на основе энтити, и обусловлено близостью к ней света. Но не в модах Source2006/2007/2013, если там не используются {{L|Dynamic RTT shadow angles in Source 2007|Динамические RTT углы теней из Source 2007-го года}}.}}


{{warning|Dynamic Shadows can sometimes project through walls and floors, giving away the location of players or objects. Use [[info_no_dynamic_shadow]] to workaround this problem if you encounter it.}}
{{warning|Иногда динамические тени проникают сквозь стены и полы, выдавая местоположение игроков или объектов. Если вы столкнулись с этой проблемой, используйте {{L|info_no_dynamic_shadow}}.}}


{{note|Shadows are "cast" by the visual mesh only if there is no [[shadowlod]] defined in the [[QC]]. Shadow LODs are just low detail meshes used to generate the shadow. These don't apply to shadowmapping (flashlights, [[env_projectedtexture]]) }}
{{Note|Тени "скользят" по визуальной сетке, если только нет shadowlod, задаваемого в {{L|QC}}. Shadow LOD при создании тени используют низкую детализацию. Это не относится к теням на карте (фонарикам, {{L|env_projectedtexture}}) }}


{{note|Dynamic Shadows do not merge with each other or with Lightmaps when they overlap. This can produce undesirable 'doubling up' effects when, for instance, phys props are placed on a phys prop table. You can enable and disable shadows on dynamic entities to work around this.}}
{{Note|Если динамические тени пересекаются, то они не сливаются друг с другом или освещением карты. Это может приводить к нежелательным эффектам 'удвоения', когда, например, физические пропы находятся на физическом пропе стола. Чтобы обойти эту проблему, вы можете включать и отключать динамические тени требуемых энтити.}}


{{note|Dynamic Shadows support translucency. If your model has varying levels of opacity, it can show up in the shadow [http://img4.imageshack.us/img4/3627/parttrans.png as seen here].}}
{{Note|Динамические тени поддерживают полупрозрачность. Если ваша модель имеет разные уровни прозрачности, они могут отразиться на тени.}}


;[[shadow_control]]:Point entity used to control Dynamic Shadow projections for the entire map, including maximum distance cast, direction cast, and sharpness/diffuseness.
;{{ent|shadow_control}}:Точечная энтити, использует управление динамическими тенями по всей карте, в том числе максимальное расстояние отбрасывания, направление отбрасывания и резкость/рассеяние.
;[[info_no_dynamic_shadow]]:Point entity used to list [[Brush]] surfaces that should ''not'' receive Dynamic Shadows.  
;{{ent|info_no_dynamic_shadow}}:Точечное энтити, использет список {{L|Brush|брашевых}} поверхностей, чтобы ''не'' отбрасывать динамические тени.  
;[[prop_physics]] entities : have a "shadowcastdist" keyvalue to override how far this object casts Dynamic Shadows.
;Энтити {{ent|prop_physics}}: Имеет значение "shadowcastdist" для переопределения дальности отбрасывания динамических теней.
;[[prop_dynamic]] entities : have a "disableshadows" keyvalue, and "enableshadows" and "disableshadows" inputs to control Dynamic Shadows cast by them.
;Энтити {{ent|prop_dynamic}}: Имеет значение "disableshadows" и входы "enableshadows" и "disableshadows" для управления отбрасываемыми ими динамическими тенями.
;NPC entities : have the prop_dynamic shadow controls, plus a "disablereceiveshadows" {{TODO|to prevent...?}}
;Энтити NPC : Имеет управление prop_dynamic shadow, а также "disablereceiveshadows" {{TODO|чтобы предотвращать...?}}


=== Tyndall effects ===
=== Эффекты Тиндаля ===
[[Wikipedia:Tyndall effect|Tyndall effects]] are caused by light scattering on suspended (colloid) particles in a transparent medium. E.g., car headlights in fog.
{{L|Wikipedia:Tyndall effect|Эффекты Тиндаля}} вызваны рассеянием света на взвешенных (коллоидных) частицах в прозрачной среде. Например, автомобильные фары в тумане.
* [[Wikipedia:Halo_(optical_phenomenon)|Halo]] (Glow Sprite) effects :  
* {{L|Wikipedia:Halo_(optical_phenomenon)|Эффекты Гало}} (светящийся спрайт) :  
:*[[env_sprite]] - entity used to create omni-directional glow or flare effects.
:*{{ent|env_sprite}} - энтити, используемая для создания всенаправленного свечения или засветки.
:*[[env_lightglow]] - an asymmetrical glow (for areas of contrasting light).
:*{{ent|env_lightglow}} - асимметричное свечение (для зон с контрастным освещением).
:*[[env_sun]] - adds a bright haloed spot to the [[Skybox]] to represent the position of the Sun or Moon.
:*{{ent|env_sun}} - добавляет яркое пятно с ореолом в {{L|Skybox|скайбоксе}} для задания положения Солнца или Луны.
* [[Wikipedia:Light beam|Lightbeam]] (Volumetric Light) effects :  
* {{L|Wikipedia:Light beam|Эффекты ярких лучей}} (объёмный свет) :  
:*Brush texture : <code>models/effects/vol_light001</code>  
:*Брашевая текстура : <code>models/effects/vol_light001</code>  
:*Brush texture : <code>models/effects/vol_light002</code>
:*Брашевая текстура : <code>models/effects/vol_light002</code>
:*Model : <code>models/Effects/vol_light.mdl</code> - use with [[prop_static]].
:*Модель : <code>models/Effects/vol_light.mdl</code> - используется вместе с  {{ent|prop_static}}.
* See also [[Render Modes]] for sprites, particularly [[Render Modes#World Space Glow (9)|World Space Glow]]''.
* См. также {{L|Render Modes|Режимы отрисовки}} для спрайтов, особенно [[Render Modes#World Space Glow (9)|Свечение]]''.


== Common values ==
== Стандартные значения ==
;Car Headlights
{| class="wikitable"
:Brightness <code>231 223 192</code> {{note|Taken from L4D2 SDK}}
! !! Яркость
;City 17 day
|-
:Brightness <code>237 218 143 800</code>
| Автомобильные фары
:Ambience <code>190 201 220 100</code>
| style="background: #e7dfc0;" class="table-yes"|<code style="color:black;">231 223 192</code>
;Ravenholm night
|-
:Brightness <code>175 230 239 50</code>
| Лампа Комбайнов
:Ambience <code>43 45 57 5</code>
| style="background: #93e2f0;" class="table-yes"|<code style="color:black;">147 226 240</code>
;Combine lamp
|-
:Brightness <code>147 226 240 3000</code>
| Вольфрамовая лампа
:Ambience N/A
| style="background: #fed892;" class="table-yes"|<code style="color:black;">254 216 146</code>
;Tungsten bulb
|-
:Brightness <code>254 216 146</code>
| Флуоресцентная труба
:Ambience N/A
| style="background: #9fedd7;" class="table-yes"|<code style="color:black;">159 237 215</code>
;Fluorescent bulb
|-
:Brightness <code>159 237 215</code>
| Лампа накаливания
:Ambience N/A
| style="background: #fff591;" class="table-yes"|<code style="color:black;">255 245 145</code>
For values to accompany the stock [[skybox]] materials, see [[Sky List]].
|}
Значения для {{L|Skybox Basics|скайбоксов}} смотрите в {{L|List of Skyboxes|списке}}.


== Notes ==
== Примечания ==
*Naming a light makes it more expensive. Only name lights when you need to. Multiple lights sharing the same name are cheaper than lights with separate names.
*Указание имени источника делает его гораздо тяжелее для рендеринга. Давайте имена только необходимым источникам света. Несколько источников света с одинаковыми именами движку проще обрабатывать, чем с разными.
*[[light_dynamic]] is especially expensive, and will not even show up on some systems
*{{L|light_dynamic}} - самый тяжёлый, и на некоторых системах может не отображаться
*The basic light entities do not come with a visible representation (e.g. a lightbulb). For that you need a prop. See [[HL2 light props]] for a list.
*Основные энтити света не связаны с видимыми источниками (например, лампочки). Для этого вам нужна модель. Смотрите список {{L|HL2 Light Props|моделей освещения}}.
*The basic light entities do not come with a "glow" as you'd expect to see in a foggy or misty area. To provide this, either compile and run the map with [[HDR]] enabled, or add a [[point_spotlight]] (with dynamic lighting ''off'' unless needed) or [[env_lightglow]] entity.
*Основные энтити света не "отсвечивают", как будто в тумане или сумерках. Чтобы это заработало, скомпилируйте и запустите карту с включённым {{L|HDR}}, или добавьте {{L|point_spotlight}} (с ''отключенным'' динамическим освещением, если таковое не нужно) или энтитю {{L|env_lightglow}}.
*Maps will not be lit unless you run [[vrad]] (or equivalent). Vrad will not run properly and will not calculate realistic light bounces unless the level is free of [[leak]]s.
*Карты не будут освещены, если вы не запустите {{L|vrad}} (или эквивалент). VRAD не сможет работать как надо и не будет рассчитывать реалистичное отражение света, если на карте присутствуют {{L|Leak|утечки}}.
*Several textures provide their own light & can do so using <code>[[lights.rad]]</code> in a mod's directory or the one in <code>sourcesdk/bin</code>.
*Некоторые текстуры сами отбрасывают свет и могут быть созданы с помощью <code>{{L|lights.rad}}</code> в папке мода или в <code>sourcesdk/bin</code>.
*Moving brushed-based objects will not change the way they are lit. Their lighting will be calculated only according to their positions in Hammer. (e.g. a brush in a dark room will not become bright if it is brought into a bright room.)
*Перемещаемые объекты не меняют свечения. Их освещение будет рассчитываться только в соответствии  с их положением в Хаммере (например, браш из тёмной комнаты не станет ярче, если его перенести в освещённую комнату).


== [[Console command]]s ==
== {{L|Console command|Консольные команды}} ==


[[Image:Mat fullbright 2.jpg|thumb|<code>mat_fullbright 2</code>. The bright white physics props seem to be a bug; they are lit correctly when in motion. ]]
[[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> is normal lighting.
:<code>0</code> - нормальное освещение.
:<code>1</code> is 'full bright' lighting, where everything is 100% lit.
:<code>1</code> - 'полноценное' освещение, когда всё освещено на 100%.
:<code>2</code> has been introduced with the Orange Box and is 'lighting only'. It replaces all textures' images with a colourless monotone, allowing you to see exactly what is lit, where, and probably how.
:<code>2</code> был введён в Orange Box и отображает 'только освещение'. Он заменяет все текстуры на однотонный цвет, позволяя вам увидеть что, где и как излучает свет.


== See also ==
== См. также ==
* [[HL2 light props]]
* {{L|HL2 Light Props}}
* [[Color theory (level design)]]
* {{L|Color Theory in Level Design|Теория цвета (дизайн уровней)}}
* [[List_of_entities#Light_entities|Light entities]] - A list of light entities.
* [[List_of_entities#Light_entities|Энтити света]] - Список энтити света.
* [[Intermediate_Lighting|Intermediate Lighting]]
* {{L|Intermediate Lighting|Вспомогательное освещение}}
* [[Advanced_Lighting|Advanced Lighting]]
* {{L|Advanced Lighting|Продвинутое освещение}}
* [[Window lighting]] - How to simulate refracted sunlight through openings.
* {{L|Window lighting|Освещение из окна}} - Как имитировать солнечный свет, исходящий из проёмов.


== External links ==
== Внешние ссылки ==
<!--  
<!--  
* [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:
-->
-->


[[Category:Level Design]]
{{ACategory|Level Design}}
[[Category:Hubs]]
{{ACategory|Hubs}}
[[Category:Lighting|*]]
{{ACategory|Lighting|*}}

Latest revision as of 07:18, 30 May 2025

English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)
Серия Воссоздание окружающей обстановки(en) Выскажите свои мысли — Помогите нам воплотить больше идей

Снаряжение | Животные и существа | Муравьиные львы | Лучи и лазеры | Кабели и верёвки | Движущиеся облака | Теория цвета | Битвы | Комбайны | Сжатие ресурсов | Двери | Пыль, туман и дым | Лифты | Переключение карт | Внешнее освещение, солнце, погода и окружение | Взрывы | Огонь | Растительность | Стекло и окна | Хэдкраб | Жизнеспособность | Лестницы | Освещение | Оптимизация | Физические объекты | Сканеры сетчатки | Звук и музыка | Спецэффекты | Ландшафт | Поезда | Турели | Вода | Оружие | Зомби

Руководства

Пример хорошо освещённой комнаты.

Виды

Статичные источники света

Tip.pngСовет:Статичный свет компилируется в лайтмапы(en), освещающие браши(en), модели(en), кубмапы(en) и дают статичные отражения(en). Это упрощает(en) процесс рендеринга, поскольку источники освещения уже прописаны в карту.
light
Неподвижный, все-направленный точечный источник света (различные лампы, огонь и др.).
light_spot
Неподвижный, однонаправленный точечный источник света (например, направленный прожектор). Конический угол луча не должен превышать 90°.
light_environment
Содержит два связанных источника света:
  • Рассеянный 'окружающий' свет (отраженный от облаков и атмосферы в целом), исходящий из всех поверхностей скайбокса.
  • Направленный 'яркий' свет (солнечный или лунный), падающий в одном направлении.
Оба излучаются материалом toolsskybox везде, где он есть на карте. См. также Скайбокс(en).
env_particlelight
Освещает частицы, порождаемые env_smokestack. Частицы не подвержены нормальному освещению. Используйте не более двух.
Светящиеся текстуры(en)
Брашевые(en) поверхности со светоизлучающим материалом (определяемым в game_dir/lights.rad), который отбрасывает свет на угол 180°.

Статичные светоприёмники

Браши(en)
Инструмент Масштаб карты освещения(en) диалогового окна Hammer Face Edit Dialog(en) может быть использован для управления резкостью и размытостью лайтмапа на поверхности браша - эффект наиболее заметен в зонах с повышенной контрастностью, например, в затенённых местах. Обратите внимание, что добавление новых источников света не сильно скажется на производительности, но уменьшение масштаба карты освещения (т.е. увеличение разрешения) сразу увеличит размер карты и объём занимаемой памяти.
prop_static
В отличие от других моделей, prop_static светится статично: значение освещения сохраняется для каждой вершины(en), а модель сетки столкновений(en) (или, опционально, reference mesh(en)) используется для расчёта теней.
Существуют следующие опции:
  • disableshadows - Не отбрасывать тени;
  • disablevertexlighting - Сохранять только одно значение освещения для всей модели;
  • disableselfshadowing - Не позволять энтити отбрасывать тень на себя;
  • ignorenormals - При расчёте освещения игнорировать данные нормалей вершин. Это чрезвычайно полезно для листвы и других тонких типов вершин сетки.

Динамические источники света

Tip.pngСовет:Динамическое освещение вычисляется в процессе игры, что делает рендеринг более дорогим(en).
env_projectedtexture(en) светит из дверного проёма.
light_dynamic
Простой, однонаправленный динамический свет, который может быть перемещён, повёрнут и отрегулирован.
point_spotlight
Эффект луча от прожектора с дополнительным динамическим источником света в точке падения на поверхность.
npc_spotlight
Прожектор NPC(en), похожий на point_spotlight, но с возможностью отслеживания целей.
env_projectedtexture
Динамический источник, который светит не однотонным цветом, а определённой текстурой и в то же время 'вычитает' реалистичные динамические тени. Влияет на все поверхности, которые могут принимать свет, и используется в качестве фонарика игрока в Episode Two(en).

Динамические тени

Tip.pngСовет:Динамические тени отбрасываются только моделями(en) (NPC, физическими пропами и т.д.), и только на брашевые(en) поверхности (от статичных и динамических источников света). Они рассчитываются в реальном времени, поэтому довольно грубы и достаточно затратны(en) для визуализации.
Warning.pngПредупреждение: Это не *настоящие* тени, а процедурные (создаваемые кодом) текстуры, проецируемые объектом. В Left 4 Dead, Portal 2 и Alien Swarm направление теней вычисляется на основе энтити, и обусловлено близостью к ней света. Но не в модах Source2006/2007/2013, если там не используются Динамические RTT углы теней из Source 2007-го года(en).
Warning.pngПредупреждение:Иногда динамические тени проникают сквозь стены и полы, выдавая местоположение игроков или объектов. Если вы столкнулись с этой проблемой, используйте info_no_dynamic_shadow(en).
Note.pngПримечание:Тени "скользят" по визуальной сетке, если только нет shadowlod, задаваемого в QC(en). Shadow LOD при создании тени используют низкую детализацию. Это не относится к теням на карте (фонарикам, env_projectedtexture(en))
Note.pngПримечание:Если динамические тени пересекаются, то они не сливаются друг с другом или освещением карты. Это может приводить к нежелательным эффектам 'удвоения', когда, например, физические пропы находятся на физическом пропе стола. Чтобы обойти эту проблему, вы можете включать и отключать динамические тени требуемых энтити.
Note.pngПримечание:Динамические тени поддерживают полупрозрачность. Если ваша модель имеет разные уровни прозрачности, они могут отразиться на тени.
shadow_control
Точечная энтити, использует управление динамическими тенями по всей карте, в том числе максимальное расстояние отбрасывания, направление отбрасывания и резкость/рассеяние.
info_no_dynamic_shadow
Точечное энтити, использет список брашевых(en) поверхностей, чтобы не отбрасывать динамические тени.
Энтити prop_physics
Имеет значение "shadowcastdist" для переопределения дальности отбрасывания динамических теней.
Энтити prop_dynamic
Имеет значение "disableshadows" и входы "enableshadows" и "disableshadows" для управления отбрасываемыми ими динамическими тенями.
Энтити NPC
Имеет управление prop_dynamic shadow, а также "disablereceiveshadows"
Нужно сделать: чтобы предотвращать...?

Эффекты Тиндаля

Эффекты Тиндаля(en) вызваны рассеянием света на взвешенных (коллоидных) частицах в прозрачной среде. Например, автомобильные фары в тумане.

  • env_sprite - энтити, используемая для создания всенаправленного свечения или засветки.
  • env_lightglow - асимметричное свечение (для зон с контрастным освещением).
  • env_sun - добавляет яркое пятно с ореолом в скайбоксе(en) для задания положения Солнца или Луны.
  • Брашевая текстура : 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

Значения для скайбоксов(en) смотрите в списке(en).

Примечания

  • Указание имени источника делает его гораздо тяжелее для рендеринга. Давайте имена только необходимым источникам света. Несколько источников света с одинаковыми именами движку проще обрабатывать, чем с разными.
  • light_dynamic(en) - самый тяжёлый, и на некоторых системах может не отображаться
  • Основные энтити света не связаны с видимыми источниками (например, лампочки). Для этого вам нужна модель. Смотрите список моделей освещения(en).
  • Основные энтити света не "отсвечивают", как будто в тумане или сумерках. Чтобы это заработало, скомпилируйте и запустите карту с включённым HDR(en), или добавьте point_spotlight(en)отключенным динамическим освещением, если таковое не нужно) или энтитю env_lightglow(en).
  • Карты не будут освещены, если вы не запустите vrad(en) (или эквивалент). VRAD не сможет работать как надо и не будет рассчитывать реалистичное отражение света, если на карте присутствуют утечки(en).
  • Некоторые текстуры сами отбрасывают свет и могут быть созданы с помощью lights.rad(en) в папке мода или в sourcesdk/bin.
  • Перемещаемые объекты не меняют свечения. Их освещение будет рассчитываться только в соответствии с их положением в Хаммере (например, браш из тёмной комнаты не станет ярче, если его перенести в освещённую комнату).

Консольные команды(en)

mat_fullbright 2. Ярко-белые физические модели, кажется, работают с ошибкой; они освещаются правильно во время движения.
mat_fullbright <0-2>
0 - нормальное освещение.
1 - 'полноценное' освещение, когда всё освещено на 100%.
2 был введён в Orange Box и отображает 'только освещение'. Он заменяет все текстуры на однотонный цвет, позволяя вам увидеть что, где и как излучает свет.

См. также

Внешние ссылки