Освещение
| Серия Воссоздание окружающей обстановки Выскажите свои мысли — Помогите нам воплотить больше идей |
|---|
|
Снаряжение | Животные и существа | Муравьиные львы | Лучи и лазеры | Кабели и верёвки | Движущиеся облака | Теория цвета | Битвы | Комбайны | Сжатие ресурсов | Двери | Пыль, туман и дым | Лифты | Переключение карт | Внешнее освещение, солнце, погода и окружение | Взрывы | Огонь | Растительность | Стекло и окна | Хэдкраб | Жизнеспособность | Лестницы | Освещение | Оптимизация | Физические объекты | Сканеры сетчатки | Звук и музыка | Спецэффекты | Ландшафт | Поезда | Турели | Вода | Оружие | Зомби |
Освещение является собирательным названием всех систем Source, обеспечивающих создание освещения карты, чтобы она выглядела реалистично. Создатель карт Source должен знать множество аспектов создания освещения, большинство из которых представлены на этой странице.
Руководства
- Добавление света - Уроки для начинающих о том, как настраивать основные объекты света.
- Управление освещением - Подробный материал обо всех источниках света.
- Сложное освещение
- Константно-Линейно-Квадратичное рассеивание - Простое объяснение старой системы C-L-Q затухания света.
- HDR - Освещение, поддерживающее технологию широкого динамического диапазона.
Типы
Статичные источники света
- light
- Неподвижный, все-направленный точечный источник света (различные лампы, огонь и др.).
- light_spot
- Неподвижный, однонаправленный точечный источник света (например, направленный прожектор). Конический угол луча не должен превышать 90°.
- light_environment
- Содержит два связанных источника света:
- Рассеянный 'окружающий' свет (отраженный от облаков и атмосферы в целом), исходящий из всех поверхностей скайбокса.
- Направленный 'яркий' свет (солнечный или лунный), падающий в одном направлении.
- Оба излучаются материалом toolsskybox везде, где он есть на карте. См. также Скайбокс.
- env_particlelight
- Освещает частицы, порождаемые env_smokestack. Частицы не подвержены нормальному освещению. Используйте не более двух.
- light_directional (Во всех играх начиная с
)(также в
) - Essentially a second (or third, or…) one of the direct light from
light_environment. Likelight_environment's direct light, it is emitted only from brush faces textured withtoolsskybox. Unlikelight_environment, it can be toggled or use lightstyles without significant bugs. - Светящиеся текстуры
- Любые Брашевые поверхности со светоизлучающим материалом (определяемым в
game_dir/lights.rad), который отбрасывает свет на угол 180°.
Статичные светоприёмники
- Браши
- Инструмент Масштаб карты освещения диалогового окна Hammer Face Edit Dialog может быть использован для управления резкостью и размытостью лайтмапа на поверхности браша - эффект наиболее заметен в зонах с повышенной контрастностью, например, в затенённых местах. Обратите внимание, что добавление новых источников света не сильно скажется на производительности, но уменьшение масштаба карты освещения (т.е. увеличение разрешения) сразу увеличит размер карты и объём занимаемой памяти.
- prop_static
- В отличие от других моделей, prop_static светится статично: значение освещения сохраняется для каждой вершины, в габарит столкновений модели (или, опционально, отображаемая сетка) используется для расчёта теней.
- Существуют следующие опции:
disableshadows- Не отбрасывать тени;disablevertexlighting- Сохранять только одно значение освещения для всей модели;disableselfshadowing- Не позволять энтити отбрасывать тень на себя;ignorenormals- При расчёте освещения игнорировать данные нормалей вершин. Это чрезвычайно полезно для листвы и других тонких типов вершин сетки.generatelightmaps(только в
) - Allows the props to use lightmaps (like world brushes) if VRAD is run with -StaticPropLightingand the prop is not bumpmapped. Lightmap resolution can be configured withlightmapresolutionxandlightmapresolutiony. (только в gmod) Can also be manually defined with the $lightmap Shader parameter, including on non-static props.
Предупреждение: There are a number of caveats related to lighting on prop_static. See its page for detailed info. - All non-internal brush entities (Во всех играх начиная с
) - Use the
vrad_brush_cast_shadowskeyvalue to allow them to cast lightmap shadows. Might be Отсутствует в FGD! in some games and/or on some entities.
Динамичные источники света
- light_dynamic
- Простой, однонаправленный динамический свет, который может быть перемещён, повёрнут и отрегулирован.
- point_spotlight
- Эффект луча от прожектора с дополнительным динамическим источником света в точке падения на поверхность.
- npc_spotlight
- Прожектор НИП, похожий на
point_spotlight, но с возможностью отслеживания целей. - env_projectedtexture
- Динамический источник, который светит не однотонным цветом, а определённой текстурой и в то же время "вычитает" реалистичные динамические тени. Влияет на все поверхности, которые могут принимать свет, и используется в качестве фонарика игрока в
Half-Life 2: Episode Two.
- In games since
Portal 2, most visible dynamic entities can have texture projection disabled with the disableflashlightkeyvalue, and they can have it toggled at runtime with the EnableReceivingFlashlight and DisableReceivingFlashlight inputs. Their shadow-casting behavior, however, must be controlled separately (see under Dynamic Shadows). In earlier games, this behavior can still be controlled via theEF_NOFLASHLIGHTeffect flag (see below).
- In games since
- Effect flags Отсутствует в FGD!
- Most entities with an Origin KV can have EF_BRIGHTLIGHT or EF_DIMLIGHT applied to them to have them radiate dynamic light of the appropriate brightness.
Динамичные тени
- shadow_control
- Точечная энтити, использует управление динамическими тенями по всей карте, в том числе максимальное расстояние отбрасывания, направление отбрасывания и резкость/рассеяние.
- env_cascade_light
- Point entity used to control Dynamic shadow projections casted via the
tools/toolsskyboxtexture. Uses Cascade Shadow Map technique. (только в
) - info_no_dynamic_shadow
- Точечное энтити, использет список брашевых поверхностей, чтобы не отбрасывать динамические тени.
- Энтити prop_physics
- Имеет значение "shadowcastdist" для переопределения дальности отбрасывания динамических теней.
- Энтити prop_dynamic
- Имеет значение "disableshadows" и входы "enableshadows" и "disableshadows" для управления отбрасываемыми ими динамическими тенями.
- Энтити NPC
- Имеет управление prop_dynamic shadow, а также "disablereceiveshadows"
- Most dynamic visible entities
- Have a
shadowcastdistkeyvalue to override how far these objects cast Dynamic shadows, adisableshadowskeyvalue to control whether they cast Dynamic shadows, and EnableShadow and DisableShadow inputs to control Dynamic shadows cast by them. In games since
Portal 2, they also have disableshadowdepthto prevent them casting shadows fromenv_projectedtexture. - Effect flags Отсутствует в FGD!
- Most entities can have various effect flags applied to them to regulate many of the same effects as the aforementioned keyvalues, even if they don't have those keyvalues in your version of Source.
Эффекты Тиндаля
Эффекты Тиндаля вызваны рассеянием света на взвешенных (коллоидных) частицах в прозрачной среде. Например, автомобильные фары в тумане.
- Эффекты Гало (светящийся спрайт) :
- 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 |
| Огонь | 254 174 10 |
| Лампа дневного света (холодный оттенок) | 159 237 215 |
| Лампа дневного света (тёплый оттенок) | 255 245 145 |
Значения для текстур неба смотрите в списке текстур неба.
Примечания
- Именование источников света делает их гораздо тяжелее для рендеринга. Давайте имена только необходимым источникам света. Несколько источников света с одинаковыми именами движку проще обрабатывать, чем с разными.
- light_dynamic - самый тяжёлый, и на некоторых системах может не отображаться
- Основные энтити света не связаны с видимыми источниками (например, лампочки). Для этого вам нужна модель. Смотрите список моделей освещения.
- Основные энтити света не "отсвечивают", как будто в тумане или сумерках. Чтобы это заработало, скомпилируйте и запустите карту с включённым HDR, или добавьте point_spotlight (с отключенным динамическим освещением, если таковое не нужно) или энтитю env_lightglow или env_sprite.
- Карты не будут освещены, если вы не запустите VRAD (или эквивалент). VRAD не сможет работать как надо и не будет рассчитывать реалистичное отражение света, если на карте присутствуют утечки.
- Некоторые текстуры сами отбрасывают свет и могут быть созданы с помощью
lights.radв папке мода или вsourcesdk/bin. - Перемещаемые объекты не меняют свечения. Их освещение будет рассчитываться только в соответствии с их положением в Хаммере (например, браш из тёмной комнаты не станет ярче, если его перенести в освещённую комнату).
Обходной приём: Parent a prop_dynamic to the moving brush entity, and make the brush entity itself invisible. Tools such as Propper++ can convert brush geometry into studio models for this purpose.
- Light can be reflected off surfaces during compile, indirectly illuminating the environment around them. See $reflectivity.
Команды управления
mat_fullbright <0-2>0- нормальное освещение.1- 'полноценное' освещение, когда всё освещено на 100%. This will be enabled by default if there's no lighting data on the map (BSP), or the map was compiled for HDR lighting only and HDR is disabled.2был введён в Orange Box и отображает 'только освещение'. Он заменяет все$basetextureтекстуры на однотонный цвет, позволяя увидеть что, где и как излучает свет. Ignored for materials with$no_fullbright.
mat_toolsvis replaced mat_fullbright in Смотреть также
- HL2 Light Props
- Теория цвета в создании карт
- Объекты источников света - Список объектов света.
- Управление освещением
- Сложное освещение
- Свет из окна - Как имитировать солнечный свет, исходящий из проёмов.
- Редактор света
Внешние ссылки
- Understanding and Using Lightmaps (Архивная версия от 26 August, 2007)
- Volumetric Lighting (Архивная версия от 24 August, 2007)
- Lighting Tutorial - Covers entities & variables with examples (Архивная версия от 6 September, 2016)
- Quadratic/Linear/Constant in Lights (Архивная версия от 24 November, 2010)
- HDR/Shaped Light/Burning Light/Darkness/Sun/Volumetric (Архивная версия от 20 January, 2008)