S&box Wiki

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.⤶