$treesway: Difference between revisions
SirYodaJedi (talk | contribs) mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{LanguageBar}} | {{LanguageBar}} | ||
[[File:de_lake_treesway.gif|thumb|Tree with treesway on {{csgomap|de_lake}} in CS:GO (click to preview).]] | [[File:de_lake_treesway.gif|thumb|Tree with treesway on {{csgomap|de_lake|game=csgo}} in CS:GO (click to preview).]] | ||
{{This is a|shader parameter|name=$treesway|shader=VertexLitGeneric|since=Left 4 Dead 2}} {{also| {{tf2branch}} {{Bms}} {{GMOD}} {{mapbase}} }} In {{GMOD}} {{mapbase}}, it can also be used for {{ent|UnlitGeneric}}. | {{This is a|shader parameter|name=$treesway|shader=VertexLitGeneric|since=Left 4 Dead 2}} {{also| {{tf2branch}} {{Bms}} {{GMOD}} {{mapbase}} }} In {{GMOD}} {{mapbase}}, it can also be used for {{ent|UnlitGeneric}}. | ||
<code>$treesway</code> morphs the vertices of a mesh with a given 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. | <code>$treesway</code> morphs the vertices of a mesh with a given 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. |
Revision as of 09:09, 27 January 2025


$treesway
is a material shader parameter for the VertexLitGeneric shader available in all Source games since
Left 4 Dead 2. (also in
) In
, it can also be used for UnlitGeneric.
$treesway
morphs the vertices of a mesh with a given material around using the parameters of an env_wind entity to give the appearance of tree leaves and foilage blowing in the wind. The subparameters of $treesway
determine how much the env_wind
entity should affect the morphing, and all of them (except $treeswaystatic
) must be specified in order for the effect to work properly. This shader parameter assumes any model using it is facing upwards.

$treesway
will not sway materials which use $bumpmap.
- This shader parameter does not work with $detailtexturetransform.
- In
, using a shadow-casting projected texture on materials with this parameter will cause flickering. As a workaround, try to keep trees away from where player flashlights can reach. $halflambert may also partially fix the issue.
- In
, using a shadow-casting projected texture will cause shadows not reacting to
$treesway
, shadows don't move, expect in.
- Todo: What about[todo tested in ?]
$singlepassflashlight
and$flashlightnolambert
?

If CSM is unavailable, consider using a prop_dynamic instead. This can be combined with an animation containing more realistic pre-baked wind physics than can be achieved with $treesway.
As prop_dynamic cannot be lit by VRAD per-vertex, it may be desirable to use a pre-baked $lightmap (if available) in such situations, to restore some ambient lighting quality.
Parameters
$treesway
$treeswayheight
$treeswaystartheight
$treeswayradius
$treeswaystartradius
$treeswayspeed
$treeswaystrength
$treeswayscrumblespeed
$treeswayscrumblestrength
$treeswayscrumblefrequency
$treeswayfalloffexp
$treeswayscrumblefalloffexp
$treeswayspeedhighwindmultipler
$treeswayspeedlerpstart
$treeswayspeedlerpend
$treeswaystatic
$treeswaystaticvalues
External links
https://gamebanana.com/tuts/12924 - How to achieve a similar effect without $treeSway
, on all source engine games. Alternatively, use an animated prop_dynamic, for a more realistic (but more expensive) effect.