M_Foliage - Features
       
     
MF_TrainingInteractionPivotPainter
       
     
MF_TrailingInteractionSimple
       
     
MF_CalculateRotationAngle
       
     
M_Foliage - General
       
     
M_Foliage - PP Gusts
       
     
MF_Flatten
       
     
MF_MacroGrassVariation
       
     
MF_MaskInteractionZ
       
     
MF_ObjectInteraction
       
     
MF_WindGusts
       
     
M_Foliage - SimpleWind
       
     
MF_SimpleWindRoll
       
     
Pivot painter wind settings
       
     
M_Foliage - Features
       
     
M_Foliage - Features

This group is where you can enable or disable any desired features included in the master shader. This material has been designed to unify as much of your foliage as possible, so you can have a cohesive look even if you’re using foliage from multiple sources.

This is why the single shader is setup to be used with both pivot painter and non pivot painter foliage alike, with all the options you might want to switch per instance exposed as options.

MF_TrainingInteractionPivotPainter
       
     
MF_TrainingInteractionPivotPainter

This value is how you can change how wobbly a plant is. Lower = less wobble, higher = more.

MF_TrailingInteractionSimple
       
     
MF_TrailingInteractionSimple

Much the same as the pivot painted version, but you have the option to enable bendy rotation. This will make the foliage flop around more the higher up the world position is from the instance origin. Setting plantheight to roughly the world height of an average instance will yield best results.

MF_CalculateRotationAngle
       
     
MF_CalculateRotationAngle

These values are all used to handle how bendy a plant or foliage is during shader interaction or impulses. I highly recommend going off what these values are set up as in relevant plants.

The main one you will probably want to care about is InteractionStrengthPwr. Higher values here will cause plants to stop wobbling sooner, lower values they will wobble for a longer time after being interacted with.

M_Foliage - General
       
     
M_Foliage - General

Just two parms here, one for adjusting the color of your albedo, and the gusty spec value is a multiplier applied to the foliage specular in the wind gust areas. This allows gusts to bee visible in the shader at distance even where you mightn’t see WPO. This is a bit of a hack, so by all means just set to 1 and spec won’t be changed with wind gusts.

M_Foliage - PP Gusts
       
     
M_Foliage - PP Gusts

These values drive the pivot painted wind gusts.

Each value multiplies the speed or max rotation of each instances pivot painted wind shader. The gust material function (covered further down) is responsible for lerping between the base and max values.

MF_Flatten
       
     
MF_Flatten

This is the material function for flattening grass. Instances are scaled around their origin + the origin offset vector param, and you can adjust the squash in all 3 axes using the squash amount vector param.

A lower power will result in grass remaining flatter for longer, and a higher flatten mult with boost the strength of the flattening effect.

MF_MacroGrassVariation
       
     
MF_MacroGrassVariation

This is a simple bonus material function I put together to add world space scale variation to foliage instances for a more dynamic and realistic tufty look. This is used in the long and short grass shader, and the ferns too. You can use any shader to add different variation - black is 1x scale and white is SizeVariationAmount scale.

UniformObjectScaling will scale an asset as a whole, unticking this will scale the asset in world space so for example you could have a large area of grass covered by an instance and it could still be smoothly included in the variation.

MF_MaskInteractionZ
       
     
MF_MaskInteractionZ

UIPF Masks interaction in Z space using this function. The Z height is the heigh above and below interactor components in world space that will be considered for interaction, and the Pow param controls how sharp the falloff is.

The existing setting are great for human scale interactors.

MF_ObjectInteraction
       
     
MF_ObjectInteraction

This is a basic material function that bends foliage away from players or interactors positions. This is a naive bend and doesn’t cover trailing interaction.

MF_WindGusts
       
     
MF_WindGusts

This is another bonus material function that provides wind gusts in world space. Recommended not to change these parameters per instance, and rather change them in a parent instance so you can have unified wind gusts for all your foliage.

Wind direction and amplitude can be adjusted in the material parameter collection MPC_UIPF

M_Foliage - SimpleWind
       
     
M_Foliage - SimpleWind

These vars drive a simple wind node in the case that you aren’t using pivot painted foliage with this shader.

MF_SimpleWindRoll
       
     
MF_SimpleWindRoll

This adds a large scale rotate about axis wind effect (in the UIPF wind direction) to any non pivot painted foliage. Quite effective and allows non pivot painted foliage to hold up against the rest.

Pivot painter wind settings
       
     
Pivot painter wind settings

These categories are all default pivot painter settings (with the one exception being is UIPF is overriding the direction vectors so you must change those in the material parameter collection MPC_UIPF).

Documentation on how to use Pivot Painter wind can be found at https://docs.unrealengine.com/en-US/Engine/Content/Tools/PivotPainter/PivotPainter2