Brute Force - Sand Shader Documentation

6. Sand Properties

Untitled-1.jpg

The Sand asset is controlled entirely through the material property block, I suggest toying with the values to familiarize yourself with them. The material being very long I categorized the fields into:

Sand Textures || Sand Values || Rock Textures || Rock Values || Custom Fog || Lighting || Tessellation || Pragmas

I will describe the important parameters in order:

|| Sand Textures ||

- Sand Albedo: A colored texture to control the sand color

- Sand Albedo Multiplier: The saturation of the sand texture

- Overall Scale: The scale parameter controlling every texture coordinates except the sand displacement

- Sand Little Spec: The B&W texture controlling the specular intensity where the light reflects on the sand surface

- Sand Displacement Texture: The texture controlling the displacement of the sand vertex

- Displacement Offset: The value differentiating the height between sand and rock, 0 = no differences

- Displacement Color Multiplier: The parameter multiplying the value (color) difference based on displacement height

- Displacement Shadow Multiplier: The parameter multiplying the shadow value based on displacement height

- Up Vector: The higher this value is the more the displacement will move towards the world upward vector

- Normal Vector: The higher this value is the more the displacement will move towards the vertex normal

- Sand Transition: The texture controlling the transition shape between sand and rock

|| Sand Values ||

- Mount Color: The color tint of the pulled up sand based on interactive effect (green)

- Dig Color: The color tint of the dug up sand based on interactive effect (blue)

- Normal Effect Depth: The multiplier offset of the interactive effect, does not scale with the RenderTexture dimension if you do not understand what it does leave it between 0.10-0.20

- Normal Effect Strength: The value multiplying the overall interactive effect

- Mount/Dig Sand Strength: The vertex displacement multiplier of the respective effect (Vertex position only)

- Sand Scale: The scale parameter controlling the sand texture coordinates

|| Rock Textures ||

- Rock Albedo: A colored texture to control the rock color

- Height Map: The texture controlling the parallax occlusion effect, white = no height, black = deep height

- Parallax min/max samples: The sample definition of the height effect, lower it for better performances

|| Rock Values ||

- Rock Trail Color: The tint of the interactive effect on the rock (color is reversed; white = very dark tint trail)

- Rock Scale: The scale parameter controlling the rock texture coordinates

- Rock Transparency: Parameter used by the additive component and the terrain script, sets the rock alpha, in most cases you do not want to touch this

|| Lighting ||

- Projected Shadow Color: The color of the sand & rock shadows

- Rim Color: The tint color of the sand rim light (alpha controls the scale)

- Light Offset/Hardness: Range values to control how the light gets rendered on the material

- Additional Lights Intensity: The additional lights (points, spots) intensity multiplier, only works with additional lights 

|| Tessellation ||

- Tessellation RockThe tessellation control value of the ice, 1 = No Tessellation | 100 = maximum Tessellation, in the majority of uses you SHOULD leave it to 1

- Tessellation Sand: The tessellation control value of the sand, a good optimized value should be between 20 and 50

|| Pragmas ||

- Is RockIf enabled it will turn the whole mesh into rock independently from vertex color

- Is Additive Sand: If enabled it will activate the additive sand feature culling the rock, do not enable this feature by itself instead you should use the Additive Sand component

- Use Ambient Light: Enables the use of ambient scene lighting

- Use RT: If enabled it will activate the interactive feature, disable it if you don't intend to use the interactive part

- Is Terrain: If enabled it will activate the Terrain feature, do not enable this feature by itself instead you should use the Sand Terrain component

- Use For VR: Enables the compatibility with single pass rendering for VR

- Use World DisplacementThe If enabled it will project the sand displacement texture in world coordinates independent from mesh uv, turn it off if you want to use your mesh uvs for sand displacement

You can switch textures around or try different materials from the large collection in the package:

You can create your own textures for any texture slots

Untitled-1.jpg

If you want to create your own materials here is the list of the Sand shaders:

Untitled-1.jpg

Sand: The standard Sand shader

SandNoTessellation: The same as the above but without the vertex tessellation feature, use this variant to build for WebGl or low-end mobile; see more about WebGl and Mobile Build