Water lod control

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

Оригинал Water_lod_control

Описание

Объект water_lod_control используется для уровня детализации и качества водных поверхностей на тех картах, где есть вода. Благодаря этому объекту появляется возможность контролировать дистанцию от игрока на которой качество воды становится низким, позволяя увеличить быстродействие карты.

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

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

Ошибки

Если установить значение свойства "End Transition to Cheap Water" больше чем значение свойства "Start Transition to Cheap Water", то это приведёт к прекращению обновления текстур отражения/преломления воды.

Параметры

  • Start Transition to Cheap Water – расстояние от игрока, на котором качество водных поверхностей начинает становиться ниже;
  • End Transition to Cheap Water – расстояние от игрока, на котором качество водных поверхностей имеет максимально низкий уровень; значение этого свойства должно быть больше значения свойства "Start Transition to Cheap Water"; (у этого свойства есть баг, см пункт "Ошибки").

Inputs

  • SetCheapWaterStartDistance <float> – установить новое значение свойства "Start Transition to Cheap Water";
  • SetCheapWaterEndDistance <float> - установить новое значение свойства "End Transition to Cheap Water".

Карта

csssdk_water_lod_control.vmf

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

  • water_lod_control
  • func_detail
  • func_button
  • logic_auto
  • point_servercommand
  • logic_timer
  • logic_branch
  • math_counter
  • env_cubemap
  • WATER

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

Вся карта покрыта водой по колено глубиной. На карте установлен пульт с тремя кнопками. Все три кнопки изменяют настройки объекта water_lod_control. В левом верхнем углу экрана во время игры отображается гистограмма светимости, включаемая консольной командой "mat_show_histogram 1". Эта гистограмма отображает всего лишь соотношение количества ярких и светлых пикселей на экране и используется для отладки освещения в режиме HDR, но в случае с этой картой она была применена просто лишь для того, чтобы хоть что-то изменялось в процессе изменений настроек объекта water_lod_control. Если вы откомпилируете эту карту в режиме HDR, то без построения cubemap’ов яркость воды будет очень высокой и вы сможете лучше понять как устроена вышеописанная гистограмма. На карте так же из небольших блоков возведено некая возвышенность над водой в виде небольшой лестницы. Эта возвышенность создана для того, чтобы у игрока был лучший обзор всей водной поверхности. Находясь на этой возвышенности можно стрелять по кнопкам пульта включая и выключая их.

Первая кнопка пульта устанавливает настройки объекта water_lod_control такими, что становится чётко виден переход от качественной воды до "быстрой" воды, и можно с лёгкостью разобраться как устроен процесс оптимизации. "Быстрая" вода рисуется без отражений, преломлений и прочих сложных эффектов, поэтому на её отрисовку у видеокарты уходит меньше ресурсов и времени, чем на качественную. Использование на карте только одной "быстрой" воды, или только одной качественной воды, не целесообразно, поэтому и был создан объект water_lod_control, позволяющий авторам карты самим указывать переходы от качественной воды до "быстрой".

Вторая кнопка переключает настройки объекта water_lod_control таким образом, чтобы можно было разобраться в том как устроены переходы от качественной воды до быстрой. Можете попробовать поменять настройки объекта water_lod_control так, чтобы "End Transition to Cheap Water" было больше чем "Start Transition to Cheap Water". В этом случае можно увидеть баг, описанный в пункте "Ошибки".

Третья кнопка включает таймер, который запускает цепочку событий, приводящую к постоянному изменению параметров "Start Transition to Cheap Water" и "End Transition to Cheap Water" у объекта water_lod_control. При этом переход от качественной воды до "быстрой" начинает постоянно изменяется. Не на очень сильной видеокарте можно будет наблюдать небольшое падение производительности карты в тот момент когда переход удалён от игрока на максимальное расстояние.

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