Ru/$treesway: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(18 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{lang|$treeSway}}
{{LanguageBar}}
[[File:de_lake_treesway.gif|thumb|Tree with treesway on de_lake in CS:GO (click on image for gif to play).]]
{{Shaderparam|$treesway|since=Left 4 Dead|shader1=VertexLitGeneric}} It is also available in {{tf2}}{{Bms}}{{GMOD}}{{mapbase}}. In {{GMOD}}{{mapbase}}, it can also be used for {{ent|UnlitGeneric}}.


<code>$treesway</code> morphs a material around using the parameters of an {{ent|env_wind}} entity to give the appearance of tree leaves and foilage blowing in the wind. The subparameters of <code>$treesway</code> determine how much the <code>env_wind</code> entity should affect the morphing, and all of them (except <code>$treeswaystatic</code>) must be specified in order for the effect to work properly. This shader parameter assumes any model using it is facing upwards.
[[File:de_lake_treesway.gif|thumb|Дерево с $treesway на карте de_lake в CS:GO (нажмите на картинку для активации gif).]]
{{Shaderparam:ru|$treesway|since=Left 4 Dead|shader1=VertexLitGeneric}} Он также доступен в {{tf2}} {{Bms}} {{GMOD}} {{mapbase}}. В {{GMOD}} и {{mapbase}} он может быть использован для {{ent|UnlitGeneric}}.


{{warning|Due to the way bumped lighting is calculated, <code>$treesway</code> will not sway materials which use {{ent|$bumpmap}}.}}
$treesway трансформирует материал, используя параметры сущности {{ent|env_wind}}, чтобы создать вид листьев деревьев и фольги, развевающихся на ветру. Подпараметры $treesway определяют, насколько сущность env_wind должна влиять на трансформацию, и все они (кроме {{Code|style=1|select=1|$treeswaystatic}}) должны быть указаны, чтобы эффект работал правильно. Этот параметр шейдера предполагает, что любая модель, использующая его, смотрит вверх.
{{note|This shader parameter is disabled by default in the {{as}} SDK. It can re-enabled by modding.}}
{{bug|In {{GMOD}}{{mapbase}}, using a shadow-casting [[env_projectedtexture|projected texture]] on materials with this parameter will cause flickering. As a workaround, try to keep trees away from where player flashlights can reach. {{ent|$halflambert}} may also partially fix the issue.}}
{{bug|In {{mapbase}}, using a shadow-casting [[env_projectedtexture|projected texture]] will cause shadows not reacting to <code>$treesway</code>, shadows don't move, expect in {{gmod}}.}}
: {{todo|What about <code>$singlepassflashlight</code> and <code>$flashlightnolambert</code>?}}


==Parameters==
{{warning|suf=:ru|Из-за того, как рассчитывается освещение карт нормалей, $treesway не будет влиять на материалы, использующие {{ent|$bumpmap}}.}}


{{MatParam|$treesway|int|What option to use for the tree swaying effect.
{{note|suf=:ru|Этот шейдер параметра по умолчанию отключён в {{as|4}} SDK, но может быть включён повторно с помощью модификаций.}}
:*0: No Sway
:*1: "Classic" tree sway.
:*2: Radial tree sway effect, intended for use on rectangular sheets of plastic/tarp attached at four corners. It inverts the sway scale radius to be 1 at (0,0,0) in model space and to fall off radially towards the edges of the model. {{note|Models using <code>$treesway 2</code> are expected to be built lying in the X Y plane in model space, with their center at the origin.}}}}
{{MatParam|$treeswayheight|float|The starting height in Hammer units where the effect should start being fully applied. Default 1000.}}
{{MatParam|$treeswaystartheight|float|The height from the model's origin in which the effect starts blending in. Default 0.2.}}
{{MatParam|$treeswayradius|float|The radius from the model's origin in Hammer units in where the effect should start being fully applied. Default 300.}}
{{MatParam|$treeswaystartradius|float|The radius from the model's origin in which the effect starts blending in. Default 0.1.}}
{{MatParam|$treeswayspeed|float|The speed multiplier of large movement such as the trunk. Default 1.}}
{{MatParam|$treeswaystrength|float|The distance multiplier of large movement such as the trunk. Default 10.}}
{{MatParam|$treeswayscrumblespeed|float|The falloff of the effect on large movement such as the trunk. Higher means a more stable center. Default 0.1.}}
{{MatParam|$treeswayscrumblestrength|float|The speed multiplier of the small movement such as the leaves. Default 0.1.}}
{{MatParam|$treeswayscrumblefrequency|float|The distance multiplier of the small movement such as the leaves. Default 0.1.}}
{{MatParam|$treeswayfalloffexp|float|The frequency of the rippling of a sine wave in small movement such as the leaves. Default 1.5.}}
{{MatParam|$treeswayscrumblefalloffexp|float|The falloff of the effect on small movement such as the leaves. Higher means a more stable center. Default 1.}}
{{MatParam|$treeswayspeedhighwindmultipler|float|Speed multiplier when <code>env_wind</code> triggers a gust. Default 2.}}
{{MatParam|$treeswayspeedlerpstart|float|Minimum wind speed in which a gust triggered by <code>env_wind</code> will start affecting the material. Default 3.}}
{{MatParam|$treeswayspeedlerpend|float|Minimum wind speed in which a gust triggered by <code>env_wind</code> will fully affect the material. Default 6.}}
{{MatParam|$treeswaystatic|float|Use a static wind value instead of the values from <code>env_wind</code>. If enabled, <code>env_wind</code> is not required.|only={{tf2}}{{csgo}}{{GMOD}}{{mapbase}}}}
{{MatParam|$treeswaystaticvalues|vector2|Sets the static wind values used by <code>$treeswaystatic</code>, syntax <code>[x y]</code>. Default <code>[0.5 0.5]</code>.|only={{mapbase}}}}


[[Category:List of Shader Parameters|T]]
{{bug|hidetested=1|В {{GMOD|4}} и {{mapbase|4}} использование {{L|env_projectedtexture|проецируемой текстуры}} с отбрасыванием теней на материалы с этим параметром вызовет мерцание. В качестве обходного пути старайтесь держать деревья подальше от фонариков игроков. {{Code|style=1|select=1|{{ent|$halflambert}}}} также может частично решить проблему.}}


== See Also ==
{{bug|hidetested=1|В {{mapbase|4}} использование {{L|env_projectedtexture|проецируемой текстуры}} с отбрасыванием теней приведёт к тому, что тени не будут реагировать на <code>$treesway</code>, тени не будут двигаться. Такой же эффект ожидается в {{gmod|4}}.}}
https://gamebanana.com/tuts/12924 - How to achieve a similar effect without <code>$treeSway</code>, on all source engine games
: {{todo|suf=:ru|Что насчёт {{Code|style=1|select=1|$singlepassflashlight}} и {{Code|style=1|select=1|$flashlightnolambert}}?}}
 
==Параметры==
 
{{MatParamDef|$treesway|int|Вариант эффекта покачивания дерева:
:*0: Не влиять
:*1: "Классическое" покачивание дерева.
:*2: Радиальный эффект раскачивания дерева, предназначенный для использования на прямоугольных листах пластика/брезента (англ. plastic/tarp), прикрепленных к четырём углам. Он инвертирует радиус шкалы колебания, чтобы он был равен 1 в (0,0,0) в пространстве модели и уменьшался радиально к краям модели. {{note|suf=:ru|Ожидается, что модели, использующие {{Code|style=1|select=1|$treesway 2}}, будут построены в плоскости X Y в пространстве модели с их центром в начале координат.}}}}
{{MatParamDef|$treeswayheight|float|Начальная высота в единицах Hammer, с которой эффект должен начать полностью применяться. По умолчанию {{Code|style=1|select=1|1000}}.}}
{{MatParamDef|$treeswaystartheight|float|Высота от исходной точки модели, на которой эффект начинает смешиваться. По умолчанию {{Code|style=1|select=1|0.2}}.}}
{{MatParamDef|$treeswayradius|float|Радиус от начала координат модели в единицах Hammer, в котором эффект должен полностью применяться. По умолчанию {{Code|style=1|select=1|300}}.}}
{{MatParamDef|$treeswaystartradius|float|Радиус от начала координат модели, в котором эффект начинает смешиваться. По умолчанию {{Code|style=1|select=1|0.1}}.}}
{{MatParamDef|$treeswayspeed|float|Множитель скорости больших движений, таких как движение ствола. По умолчанию {{Code|style=1|select=1|0.1}}.}}
{{MatParamDef|$treeswaystrength|float|Множитель расстояния большого движения, такого как движение ствола. По умолчанию {{Code|style=1|select=1|10}}.}}
{{MatParamDef|$treeswayscrumblespeed|float|Уменьшение влияния при больших движениях, таких как движение ствола. Большие значения означают более стабильный центр. По умолчанию {{Code|style=1|select=1|0.1}}.}}
{{MatParamDef|$treeswayscrumblestrength|float|Множитель скорости небольшого движения, такого как движение листвы. По умолчанию {{Code|style=1|select=1|0.1}}.}}
{{MatParamDef|$treeswayscrumblefrequency|float|Множитель расстояния небольшого движения, такого как движение листвы. По умолчанию {{Code|style=1|select=1|0.1}}.}}
{{MatParamDef|$treeswayfalloffexp|float|Частота ряби синусоидальной волны при небольшом движении, таком как движение листвы. По умолчанию {{Code|style=1|select=1|1.5}}.}}
{{MatParamDef|$treeswayscrumblefalloffexp|float|Уменьшение влияния при больших движениях, таких как движение листвы. По умолчанию {{Code|style=1|select=1|0.1}}.}}
{{MatParamDef|$treeswayspeedhighwindmultipler|float|Множитель скорости, когда env_wind вызывает порыв ветра. По умолчанию {{Code|style=1|select=1|2}}.}}
{{MatParamDef|$treeswayspeedlerpstart|float|Минимальная скорость ветра, при которой порыв ветра, вызванный <env_wind, начнет воздействовать на материал. По умолчанию {{Code|style=1|select=1|3}}.}}
{{MatParamDef|$treeswayspeedlerpend|float|Минимальная скорость ветра, при которой порыв ветра, вызванный env_wind, полностью повлияет на материал. По умолчанию {{Code|style=1|select=1|6}}.}}
{{MatParamDef|$treeswaystatic|float|Используйте статическое значное ветра вместо значений из env_wind. Если включено, env_wind не требуется.|only={{tf2}}{{csgo}}{{GMOD}}{{mapbase}}}}
{{MatParamDef|$treeswaystaticvalues|vector2|Задает статичные значения ветра, используемые параметром $treeswaystatic, с помощью синтаксиса {{Code|style=1|select=1|[x y]}}. По умолчанию {{Code|style=1|select=1|[0.5 0.5]}}.|only={{mapbase}}}}
 
== См. также ==
https://gamebanana.com/tuts/12924 - Обучающий материал на тему того, как добиться аналогичного эффекта без $treesway во всех играх на {{source|4}}.
 
{{ACategory|Shader parameters|t}}

Latest revision as of 11:50, 23 August 2025

English (en)Русский (ru)Translate (Translate)
Дерево с $treesway на карте de_lake в CS:GO (нажмите на картинку для активации gif).

$treesway - это параметр шейдера материала , доступный во всех играх на Template:Game name, начиная с Template:Game name для VertexLitGeneric. Он также доступен в Team Fortress 2 Black Mesa Garry's Mod Mapbase. В Garry's Mod и Mapbase он может быть использован для UnlitGeneric.

$treesway трансформирует материал, используя параметры сущности env_wind, чтобы создать вид листьев деревьев и фольги, развевающихся на ветру. Подпараметры $treesway определяют, насколько сущность env_wind должна влиять на трансформацию, и все они (кроме $treeswaystatic) должны быть указаны, чтобы эффект работал правильно. Этот параметр шейдера предполагает, что любая модель, использующая его, смотрит вверх.

Warning.pngПредупреждение:Из-за того, как рассчитывается освещение карт нормалей, $treesway не будет влиять на материалы, использующие $bumpmap.
Note.pngПримечание:Этот шейдер параметра по умолчанию отключён в Alien Swarm Alien Swarm SDK, но может быть включён повторно с помощью модификаций.
Icon-Bug.pngБаг:В Garry's Mod Garry's Mod и Mapbase Mapbase использование проецируемой текстуры(en) с отбрасыванием теней на материалы с этим параметром вызовет мерцание. В качестве обходного пути старайтесь держать деревья подальше от фонариков игроков. $halflambert также может частично решить проблему.
Icon-Bug.pngБаг:В Mapbase Mapbase использование проецируемой текстуры(en) с отбрасыванием теней приведёт к тому, что тени не будут реагировать на $treesway, тени не будут двигаться. Такой же эффект ожидается в Garry's Mod Garry's Mod.
Нужно сделать: Что насчёт $singlepassflashlight и $flashlightnolambert?

Параметры

Вариант эффекта покачивания дерева:
  • 0: Не влиять
  • 1: "Классическое" покачивание дерева.
  • 2: Радиальный эффект раскачивания дерева, предназначенный для использования на прямоугольных листах пластика/брезента (англ. plastic/tarp), прикрепленных к четырём углам. Он инвертирует радиус шкалы колебания, чтобы он был равен 1 в (0,0,0) в пространстве модели и уменьшался радиально к краям модели.
    Note.pngПримечание:Ожидается, что модели, использующие $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 Source.