Объект water_lod_control используется для уровня детализации и качества водных поверхностей на тех картах, где есть вода. Благодаря этому объекту появляется возможность контролировать дистанцию от игрока на которой качество воды становится низким, позволяя увеличить быстродействие карты.
Если установить значение свойства "End Transition to Cheap Water" больше чем значение свойства "Start Transition to Cheap Water", то это приведёт к прекращению обновления текстур отражения/преломления воды.
csssdk_water_lod_control.vmf
Вся карта покрыта водой по колено глубиной. На карте установлен пульт с тремя кнопками. Все три кнопки изменяют настройки объекта 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. При этом переход от качественной воды до "быстрой" начинает постоянно изменяется. Не на очень сильной видеокарте можно будет наблюдать небольшое падение производительности карты в тот момент когда переход удалён от игрока на максимальное расстояние.