docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Water

    Use the Water Master Stack to render custom physically based water Material in the High Definition Render Pipeline (HDRP). The Water Master Stack approximately models a volumetric water medium, and includes properties to render effects such as caustics, scattering, and refraction.

    Create a Water shader graph

    To create a Water material in Shader Graph, use one of the following methods:

    To create a new shader graph, go to Assets > Create > Shader Graph > HDRP and select Water Shader Graph.

    To modify an existing shader graph:

    1. Open the shader graph in the Shader Editor.
    2. In Graph Settings, select the HDRP Target. If there isn't an HDRP Target, go to Active Targets select the Plus button, and select HDRP.
    3. In Material, select Water.

    To duplicate the default shader graph HDRP uses for water surfaces in the Game Object > Water Surface menu:

    1. In the Project window, go to Packages > High Definition RP > Runtime > RenderPipelineResources > ShaderGraph.
    2. Copy the Water.shadergraph asset, then paste the copy into your Assets folder.

    See Water Shader Graph nodes for more information.

    Limitations

    The water master stack shader graph has the following limitations:

    • When using a custom mesh, Vertex color is not imported in the Shader Graph, thus it cannot be used as an input for customizing the water surface appearence.
    • When disabling foam on the water surface, custom foam injected in the shader graph node is not affected.
    • When sampling the scene color using the node HD Scene Color, make sure to disable Dynamic Render Pass Culling in the HDRP Graphics settings window to be sure to have the water surface rendered in the color buffer. (especially if the distortion feature is not used on the scene)
    • The UV node when in a water master stack is the world space position instead of the usual [0, 1] UV values.

    Contexts

    This Master Stack material type has its own set of Graph Settings. Because of the relationship between settings and Blocks, this has consequences on which Blocks are relevant to the Graph. This section contains information on the Blocks this Master Stack material type adds by default, and which Blocks set properties for this Master Stack material type's Graph Settings.

    For more information about the relationship between Graph Settings and Blocks, see Contexts and Blocks.

    Vertex Context

    Default

    When you create a new Water Master Stack, the Vertex Context contains the following Blocks by default. All the Blocks are mandatory. If you remove any of the Blocks, the water shader graph doesn't work.

    Property Description Setting Dependency Default Value
    Position The object space vertex position per vertex. None CoordinateSpace.Object
    Normal The object space vertex normal per vertex. None CoordinateSpace.Object
    UV0 Water properties packed into a UV coordinate set for the vertex context.
    UV1 Water properties packed into a UV coordinate set for the vertex context.

    Fragment Context

    Default

    When you create a new Water Master Stack, the Fragment Context contains the following Blocks by default:

    [!include[](snippets/shader-graph-blocks/low-frequency-normal.md)][!include[](snippets/shader-graph-blocks/tip-thickness.md)] [!include[](snippets/shader-graph-blocks/caustics.md)] [!include[](snippets/shader-graph-blocks/foam.md)]
    Property Description Setting Dependency Default Value
    Normal World Space The normal, in world space, for the material. Fragment Normal Space set to World CoordinateSpace.World
    Base Color The base color of the material. None Color.grey
    Smoothness The material's smoothness. Every light ray that hits a smooth surface bounces off at predictable and consistent angles. For a perfectly smooth surface that reflects light like a mirror, set this to a value of 1. Less smooth surfaces reflect light over a wider range of angles (because the light hits the bumps in the microsurface), so the reflections have less detail and spread across the surface in a more diffused pattern. None 0.5
    Alpha The Material's alpha value. This determines how transparent the material is. The expected range is 0 - 1. None 1.0
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)