2021-09-09 20:42:29 -04:00

6.3 KiB

Eye

The Eye Master Stack enables you to render custom physically-based eye materials in the High Definition Render Pipeline (HDRP). It models a two-layer material, in which the first layer describes the cornea and fluids on the surface, and the second layer describes the sclera and the iris, visible through the first layer. It supports various effects, such as cornea refraction, caustics, pupil dilation, limbal darkening, and subsurface scattering.

Creating an Eye Shader Graph

To create an Eye material in Shader Graph, you can either:

  • 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 one, go to Active Targets, click the Plus button, and select HDRP.
    3. In the Material drop-down, select Eye.
  • Create a new Shader Graph.

    1. Go to Assets > Create > Shader Graph > HDRP and click Eye Shader Graph.

Contexts

[!include]

Vertex Context

Default

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

[!include[](snippets/shader-graph-blocks/vertex-position.md)] [!include[](snippets/shader-graph-blocks/vertex-normal.md)] [!include[](snippets/shader-graph-blocks/vertex-tangent.md)]
Property Description Setting Dependency Default Value

Relevant

This Master Stack material type adds all its Vertex Blocks to the Vertex Context by default and has no extra relevant Blocks.

Fragment Context

Default

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

[!include[](snippets/shader-graph-blocks/base-color.md)] [!include[](snippets/shader-graph-blocks/normal-tangent-space.md)] [!include[](snippets/shader-graph-blocks/bent-normal.md)] [!include[](snippets/shader-graph-blocks/smoothness.md)] [!include[](snippets/shader-graph-blocks/ior.md)] [!include[](snippets/shader-graph-blocks/ambient-occlusion.md)] [!include[](snippets/shader-graph-blocks/mask.md)] [!include[](snippets/shader-graph-blocks/emission.md)] [!include[](snippets/shader-graph-blocks/alpha.md)]
Property Description Setting Dependency Default Value

Relevant

Depending on the Graph Settings you use, Shader Graph can add the following Blocks to the Fragment Context:

[!include[](snippets/shader-graph-blocks/alpha-clip-threshold.md)] [!include[](snippets/shader-graph-blocks/alpha-clip-threshold-depth-postpass.md)] [!include[](snippets/shader-graph-blocks/alpha-clip-threshold-depth-prepass.md)] [!include[](snippets/shader-graph-blocks/alpha-clip-threshold-shadow.md)] [!include[](snippets/shader-graph-blocks/baked-back-gi.md)] [!include[](snippets/shader-graph-blocks/baked-gi.md)] [!include[](snippets/shader-graph-blocks/depth-offset.md)] [!include[](snippets/shader-graph-blocks/diffusion-profile.md)] [!include[](snippets/shader-graph-blocks/iris-normal-object-space.md)] [!include[](snippets/shader-graph-blocks/iris-normal-tangent-space.md)] [!include[](snippets/shader-graph-blocks/iris-normal-world-space.md)] [!include[](snippets/shader-graph-blocks/normal-object-space.md)] [!include[](snippets/shader-graph-blocks/normal-world-space.md)] [!include[](snippets/shader-graph-blocks/specular-aa-screen-space-variance.md)] [!include[](snippets/shader-graph-blocks/specular-aa-threshold.md)] [!include[](snippets/shader-graph-blocks/specular-occlusion.md)] [!include[](snippets/shader-graph-blocks/subsurface-mask.md)]
Property Description Setting Dependency Default Value

Graph Settings

Surface Options

[!include[](snippets/shader-properties/surface-options/eye-material-type.md)] [!include[](snippets/shader-properties/surface-options/recursive-rendering.md)] [!include[](snippets/shader-properties/surface-options/surface-type.md)] [!include[](snippets/shader-properties/surface-options/rendering-pass.md)] [!include[](snippets/shader-properties/surface-options/blending-mode.md)] [!include[](snippets/shader-properties/surface-options/receive-fog.md)] [!include[](snippets/shader-properties/surface-options/depth-test.md)] [!include[](snippets/shader-properties/surface-options/depth-write.md)] [!include[](snippets/shader-properties/surface-options/cull-mode.md)] [!include[](snippets/shader-properties/surface-options/sorting-priority.md)] [!include[](snippets/shader-properties/surface-options/back-then-front-rendering.md)] [!include[](snippets/shader-properties/surface-options/transparent-depth-prepass.md)] [!include[](snippets/shader-properties/surface-options/transparent-depth-postpass.md)] [!include[](snippets/shader-properties/surface-options/transparent-writes-motion-vectors.md)] [!include[](snippets/shader-properties/surface-options/preserve-specular-lighting.md)] [!include[](snippets/shader-properties/surface-options/alpha-clipping.md)] [!include[](snippets/shader-properties/surface-options/use-shadow-threshold.md)] [!include[](snippets/shader-properties/surface-options/alpha-to-mask.md)] [!include[](snippets/shader-properties/surface-options/double-sided-mode.md)] [!include[](snippets/shader-properties/surface-options/fragment-normal-space.md)] [!include[](snippets/shader-properties/surface-options/receive-decals.md)] [!include[](snippets/shader-properties/surface-options/receive-ssr.md)] [!include[](snippets/shader-properties/surface-options/receive-ssr-transparent.md)] [!include[](snippets/shader-properties/surface-options/geometric-specular-aa.md)] [!include[](snippets/shader-properties/surface-options/ss-depth-offset.md)] [!include[](snippets/shader-properties/surface-options/subsurface-scattering.md)] [!include[](snippets/shader-properties/surface-options/iris-normal.md)]
Property Description

Advanced Options

[!include[](snippets/shader-properties/advanced-options/specular-occlusion-mode.md)] [!include[](snippets/shader-properties/advanced-options/override-baked-gi.md)] [!include[](snippets/shader-properties/advanced-options/support-lod-crossfade.md)] [!include[](snippets/shader-properties/advanced-options/add-precomputed-velocity.md)]
Property Description