Revision Difference
Foliage_Shader#549618
<cat>Material.ShaderList</cat>⤶
<title>Foliage Shader</title>⤶
⤶
# Procedural Wind Animation⤶
⤶
<upload src="a5727/8db3aa6c97fdbd0.gif" size="9700698" name="foliage.gif" />⤶
⤶
The foliage shader supports procedural wind animation using vertex colors, to turn it on look for this feature in the material editor:⤶
⤶
<upload src="a5727/8db3aa4dba1ae94.png" size="4258" name="image.png" />⤶
⤶
## Vertex Color⤶
⤶
<upload src="a5727/8db3aa49bf0bbc8.png" size="699590" name="image.png" />⤶
⤶
The intensity and variation of foliage movements are defined by each RGB channel in vertex colors as follows:⤶
⤶
**Red channel**: used for animation of smaller or peripheral parts of vegetation (leaves). Bright parts are animated, and dark parts are stiff.⤶
⤶
**Green channel:** which parts of branches can be bent, brighter parts indicate bendable portions and dark parts stiff portions.⤶
⤶
**Blue channel**: used for per-leaf phase variation - this is to de-synchronize the movement of different leaves. This should match across entire leaves.⤶
⤶
## Material Parameters⤶
⤶
<upload src="a5727/8db3aa45a9cd325.png" size="14715" name="image.png" />⤶
⤶
* **Branch Amplitude**: How much the branches bend (multiplied by the green channel)⤶
* **Branch Frequency**: How frequently the branches bend (multiplied by the wind speed)⤶
* **Edge Amplitude**: How much the leaves flutter (multiplied by the red channel)⤶
* **Edge Frequency**: How frequently the leaves flutter (multiplied by the wind speed)⤶
* **Trunk Deflection**: A scale factor of how much the tree bends with the wind⤶
* **Trunk Deflection Start**: The height at which the tree begins to bend from⤶
⤶
## Global Wind Parameters⤶
⤶
Currently wind speed and direction is controlled by the following convars:⤶
⤶
* `r_world_wind_strength` - default: 40.0⤶
* `r_world_wind_dir` - default: 0.707 0.707 0.0⤶
⤶
This will change in the near future to be game / map configurable.⤶