Light (Source)

Материал из CSM Wiki
Перейти к навигации Перейти к поиску

Оригинал Constant-Linear-Quadratic Falloff, Lighting, Intermediate Lighting, Light.

Описание

Объект light используется для создания всенаправленного источника освещения, создающего Lightmap-тени во время компиляции карты. Такой источник освещения не создаёт динамические тени в игре.

Особенности использования

  • Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
  • Объект должен быть установлен там, где будет использоваться.
  • Если у объекта нет имени, то в начале каждого раунда он удаляется. Если у объекта есть имя, то с его помощью можно включать/выключать его собственные Lightmap-тени и освещение.
  • Объект можно перемещать, но Lightmap-тени, созданные при компиляции карты, останутся неизменными.

Ошибки

Не обнаружены.

Заметки

Для отключения всех Lightmap-теней можно использовать консольную команду "mat_fullbright 1". Эта команда вызывается автоматически во время игры если на карте не установлено ни одного источника освещения.

Расстановка на карте

При неправильной расстановке источников освещения (ИО), компилятор VRAD во время компиляции карты может выдать следующее предупреждение: WARNING: Too many light styles on a face (X,Y,Z)

Это означает что, на какую-то Brush-поверхность светит сразу несколько ИО с разными стилями. Подобные случаи приводят к тому, что какие-то ИО будут игнорироваться компилятором или на месте проблемы появится графический артефакт, который может испортить внешний вид карты. Чтобы избежать подобных ошибок на ваших картах, необходимо знать в каких случаях ИО добавляет новый стиль на Brush-поверхность, а к в каких – нет.

Во-первых, для любой Brush-поверхности движком Source разрешено использовать не более 8 стилей света.

Во-вторых, нужно запомнить, что если на карте установлен хотя бы один ИО (например: light, light_environment, light_spot или другие), то на любой Brush-поверхности будет как минимум один стиль света. Совершенно не важно, светит этот ИО на эти Brush-поверхности или нет – всё равно, на каждой из них будет как минимум один стиль света.

В-третьих, если какой-либо ИО светит на какую-либо Brush-поверхность и у этого ИО нет имени, то такой ИО добавляет на эту Brush-поверхность только один стиль света. Но, если у этого ИО будет имя и/или значение свойства "Appearance" не будет равно "Normal", то он будет добавлять на Brush-поверхность сразу два стиля света.

В-четвёртых, если несколько ИО имеют одинаковые значения свойств "Name", "Appearance" и "Custom Appearance", то эти ИО объединяются в группу и обрабатываются как один ИО.

Несколько примеров правильной расстановки ИО:

  • 1. Множество ИО (больше 8) без имён. Свойство "Appearance" = "Normal". В итоге: на каждой Brush-поверхности максимум 2 стиля света.
  • 2. Множество ИО (больше 4) без имён. Свойство "Appearance" = <у всех одинаковое>. В итоге: на каждой Brush-поверхности максимум 3 стиля света.
  • 3. Множество ИО (больше 4) с одинаковыми именами. В итоге: на каждой Brush-поверхности максимум 3 стиля света.
  • 4. Три ИО с разными именами и/или с разными свойствами "Appearance". В итоге: на каждой Brush-поверхности максимум 7 стилей света.

Несколько примеров НЕправильной расстановки ИО:

  • Четыре и более ИО с разными именами и/или с разными свойствами "Appearance". В итоге: на каждой Brush-поверхности минимум 9 стилей света.

Параметры

  • Brightness (R G B A) – <R G B ЯРКОСТЬ> цвет и яркость источника освещения; состоит из четырёх чисел – трёх составляющих цвета (R G B) и значения яркости; яркость указывается положительным или отрицательным числом, чем больше это число, тем больше яркость источника освещения; если яркость указана отрицательным числом, то источник освещения будет затемнять, а не освещать; в игре по умолчанию яркость всех источников освещения устанавливается меньше примерно в два раза (m) чем значение яркости (ЯРКОСТЬ), указанной в этом свойстве
  • HDR Brightness (R G B A) – <R G B ЯРКОСТЬ> цвет и яркость источника освещения в режиме HDR; по умолчанию используется значение "-1 -1 -1 1", которое указывает на то, что значение этого свойства выбирается равным значению свойства "Brightness"; (см. свойство "Brightness");
  • Constant – константная составляющая освещения; высокое значение этого свойства относительно "Linear" и "Quadratic" делает свет возле объекта более мягким и тусклым; используется только если значение свойства "50% Falloff Distance" равно нулю;
  • Linear – линейная составляющая освещения; высокое значение этого свойства относительно "Constant" и "Quadratic" выравнивает мягкость света вблизи объекта и вдалеке от объекта; используется только если значение свойства "50% Falloff Distance" равно нулю;
  • Quadratic – квадратичная составляющая освещения; высокое значение этого свойства относительно "Constant" и "Linear" делает свет возле объекта более резким и ярким, а свет вдалеке от объекта более тусклым; используется только если значение свойства "50% Falloff Distance" равно нулю;
  • 50% Falloff Distance – расстояние от объекта, на котором интенсивность его света равна половине от максимальной интенсивности; если значение этого свойства не равно нулю, то свойства "Constant", "Linear", "Quadratic" и "Maximum Cast Distance for Models" не будут использоваться;
  • 0% Falloff Distance – максимальное расстояние на которое излучается свет от объекта; 0 - значение этого свойства выбирается в два раза больше значения свойства "50% Falloff Distance"; используется только если значение свойства "50% Falloff Distance" НЕ равно нулю;
  • Appearance – готовые шаблоны яркости для источника освещения; если несколько источников освещения будут иметь одинаковые имена, то игра автоматически объединит для них это свойство, что не позволит задать для каждого из них свою собственную анимацию яркости; если установлено свойство "Custom Appearance", то это свойство не используется;
  • Custom Appearance – установить для источника освещения произвольный шаблон анимации яркости; шаблон яркости – это обычная строка состоящая из латинских букв от "a" до "z"; каждая буква шаблона означает яркость источника освещения относительно яркости, установленной в свойствах "Brightness" или "HDR Brightness"; "a" – нулевая яркость; "z" – максимальная яркость; например: строка "aeimquzuqmie" постепенно увеличит яркость источника освещения до максимума (z), а затем уменьшит её до минимума (a), после чего эта анимация будет повторяться снова и снова; скорость воспроизведения шаблона равна 10 букв в секунду; если несколько источников освещения будут иметь одинаковые имена, то игра автоматически объединит для них это свойство, что не позволит задать для каждого из них свою собственную анимацию яркости; если установлено это свойство, то свойство "Appearance" не используется; используется только если у объекта есть имя;
  • Max Cast Distance for Models – максимальное расстояние от объекта источника освещения, на котором он освещает Prop-объекты и игроков; 0 - это расстояние не ограничено; используется только если значение свойства "50% Falloff Distance" равно нулю.

Флаги

  • Initially OFF – источник освещения будет выключен в начале каждого раунда; используется только если у объекта есть имя.

Inputs

  • TurnOn – включить объект; используется только если у объекта есть имя;
  • TurnOff – выключить объект; используется только если у объекта есть имя;
  • Toggle – переключить состояние объекта (Включен/Выключен); используется только если у объекта есть имя;
  • SetPattern <string> – установить новое значение свойства "Custom Appearance"; используется только если у объекта есть имя;
  • FadeToPattern <string> - установить новое значение свойства "Custom Appearance", но перед установкой сделать плавный переход от первой буквы старого шаблона до первой буквы нового шаблона, например: если старый шаблон был равен "m" (свет просто включен), а новый шаблон будет таким "znga", то будет выполнен плавный переход от буквы "m" до буквы "z" со скоростью 10 букв в секунду, а затем для источника освещения будет использоваться новый шаблон "znga"; используется только если у объекта есть имя.

Карта

  • 1) csssdk_light.vmf
  • 2) csssdk_light_2.vmf

Используются объекты

  • 1)
  • light
  • func_button
  • func_detail
  • info_overlay
  • ambient_generic
  • prop_physics
  • logic_auto
  • 2)
  • light
  • func_button
  • func_detail
  • info_overlay
  • ambient_generic
  • logic_auto
  • env_fire

Описание карты

  • 1)

Карта выполнена в ночном стиле, чтобы было легче различались тени, созданные источниками освещения. На карте установлено несколько источников освещения, и почти для всех установлены выключатели. Первые пять источников освещения просто демонстрируют уменьшение яркости света. У четвёртого яркость равна 0, поэтому совершенно не заметно как он включается/выключается. У пятого яркость равна -200, поэтому он излучает не свет, а темноту, что даёт весьма интересную тень на противоположной стене от трёх небольших столбиков. "Тень" от этого источника освещения получается не темнее, а светлее, чем светит сам источник освещения. Шестой седьмой и восьмой источники демонстрируют зависимость свойств "Constant", "Linear", "Quadratic" на дальность и яркость освещения от этих источников освещения. Используйте выключатели на стене, чтобы лучше разобраться с особенностями каждого источника освещения на карте.

Обратите внимание, что источники освещения light не отбрасывают теней от физических объектов. Тени от физических объектов настраиваются с помощью других объектов. Так же обратите внимание на то, как создана сама карта. На карте несколько стен, но не одна из них не поставлена просто так. Эти стены отделяют источники освещения друг от друга, чтобы не вызывать ошибок при компиляции карты. Подробнее об этом смотрите пункт "Расстановка на карте".

  • 2)

Карта выполнена в ночном стиле, чтобы было легче различались тени, созданные источниками освещения. На карте установлено несколько источников освещения, для первых четырёх установлены выключатели. Первые четыре источника освещения демонстрируют зависимость свойств "50% Falloff Distance" и "0% Falloff Distance" на дальность и яркость освещения от этих источников освещения. Последние два источника света создают имитацию свечения пламени огня. Для последнего источника освещения используется свойство "Custom Appearance", при помощи которого указан собственный шаблон анимации яркости для этого источника освещения.


При компиляции этой карты компилятор VRAD выдаёт предупреждение: WARNING: Too many light styles on a face (319,-236,124)

Почему возникает подобная ошибка подробно описано в пункте "Расстановка на карте". Смотрите карту-пример csssdk_light_spot_2.vmf, где возникает такая же ошибка.

Смотрите также