Дерево с $treesway на карте de_lake в CS:GO (нажмите на картинку для активации gif).
$treesway
- это параметр шейдера материала , доступный во всех играх на Template:Game name, начиная с Template:Game name для VertexLitGeneric
. Он также доступен в . В и он может быть использован для UnlitGeneric
.
$treesway трансформирует материал, используя параметры сущности env_wind
, чтобы создать вид листьев деревьев и фольги, развевающихся на ветру. Подпараметры $treesway определяют, насколько сущность env_wind должна влиять на трансформацию, и все они (кроме $treeswaystatic
) должны быть указаны, чтобы эффект работал правильно. Этот параметр шейдера предполагает, что любая модель, использующая его, смотрит вверх.
Предупреждение:Из-за того, как рассчитывается освещение карт нормалей, $treesway не будет влиять на материалы, использующие $bumpmap
.
Примечание:Этот шейдер параметра по умолчанию отключён в Alien Swarm SDK, но может быть включён повторно с помощью модификаций.
Баг:В Garry's Mod и Mapbase использование проецируемой текстуры(en) с отбрасыванием теней на материалы с этим параметром вызовет мерцание. В качестве обходного пути старайтесь держать деревья подальше от фонариков игроков. $halflambert
также может частично решить проблему. [todo tested in?]
Баг:В Mapbase использование проецируемой текстуры(en) с отбрасыванием теней приведёт к тому, что тени не будут реагировать на $treesway
, тени не будут двигаться. Такой же эффект ожидается в Garry's Mod. [todo tested in?]
Нужно сделать: Что насчёт $singlepassflashlight
и $flashlightnolambert
?
Параметры
Вариант эффекта покачивания дерева:
- 0: Не влиять
- 1: "Классическое" покачивание дерева.
- 2: Радиальный эффект раскачивания дерева, предназначенный для использования на прямоугольных листах пластика/брезента (англ. plastic/tarp), прикрепленных к четырём углам. Он инвертирует радиус шкалы колебания, чтобы он был равен 1 в (0,0,0) в пространстве модели и уменьшался радиально к краям модели.
Примечание:Ожидается, что модели, использующие $treesway 2
, будут построены в плоскости X Y в пространстве модели с их центром в начале координат.
Начальная высота в единицах Hammer, с которой эффект должен начать полностью применяться. По умолчанию 1000
.
Высота от исходной точки модели, на которой эффект начинает смешиваться. По умолчанию 0.2
.
Радиус от начала координат модели в единицах Hammer, в котором эффект должен полностью применяться. По умолчанию 300
.
Радиус от начала координат модели, в котором эффект начинает смешиваться. По умолчанию 0.1
.
Множитель скорости больших движений, таких как движение ствола. По умолчанию 0.1
.
Множитель расстояния большого движения, такого как движение ствола. По умолчанию 10
.
Уменьшение влияния при больших движениях, таких как движение ствола. Большие значения означают более стабильный центр. По умолчанию 0.1
.
Множитель скорости небольшого движения, такого как движение листвы. По умолчанию 0.1
.
Множитель расстояния небольшого движения, такого как движение листвы. По умолчанию 0.1
.
Частота ряби синусоидальной волны при небольшом движении, таком как движение листвы. По умолчанию 1.5
.
Уменьшение влияния при больших движениях, таких как движение листвы. По умолчанию 0.1
.
Множитель скорости, когда env_wind вызывает порыв ветра. По умолчанию 2
.
Минимальная скорость ветра, при которой порыв ветра, вызванный <env_wind, начнет воздействовать на материал. По умолчанию 3
.
Минимальная скорость ветра, при которой порыв ветра, вызванный env_wind, полностью повлияет на материал. По умолчанию 6
.
Используйте статическое значное ветра вместо значений из env_wind. Если включено, env_wind не требуется.
Задает статичные значения ветра, используемые параметром $treeswaystatic, с помощью синтаксиса [x y]
. По умолчанию [0.5 0.5]
.
См. также
https://gamebanana.com/tuts/12924 - Обучающий материал на тему того, как добиться аналогичного эффекта без $treesway во всех играх на Source.