149 lines
6.3 KiB
Markdown
149 lines
6.3 KiB
Markdown
# 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[](snippets/master-stacks-contexts-intro.md)]
|
|
|
|
### Vertex Context
|
|
|
|
#### Default
|
|
|
|
When you create a new Eye Master Stack, the Vertex Context contains the following Blocks by default:
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Property</th>
|
|
<th>Description</th>
|
|
<th>Setting Dependency</th>
|
|
<th>Default Value</th>
|
|
</tr>
|
|
[!include[](snippets/shader-graph-blocks/vertex-position.md)]
|
|
[!include[](snippets/shader-graph-blocks/vertex-normal.md)]
|
|
[!include[](snippets/shader-graph-blocks/vertex-tangent.md)]
|
|
</table>
|
|
|
|
#### 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:
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Property</th>
|
|
<th>Description</th>
|
|
<th>Setting Dependency</th>
|
|
<th>Default Value</th>
|
|
</tr>
|
|
[!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)]
|
|
</table>
|
|
|
|
#### Relevant
|
|
|
|
Depending on the [Graph Settings](#graph-settings) you use, Shader Graph can add the following Blocks to the Fragment Context:
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Property</th>
|
|
<th>Description</th>
|
|
<th>Setting Dependency</th>
|
|
<th>Default Value</th>
|
|
</tr>
|
|
[!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)]
|
|
</table>
|
|
|
|
## Graph Settings
|
|
|
|
### Surface Options
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Property</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
[!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)]
|
|
</table>
|
|
|
|
### Advanced Options
|
|
|
|
<table>
|
|
<tr>
|
|
<th>Property</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
[!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)]
|
|
</table>
|