无光照
无光照主栈 (Unlit Master Stack) 可用于创建不受光照影响的着色器。
创建无光照 Shader Graph
要在 Shader Graph 中创建无光照材质,可采用以下任一方式:
修改现有的 Shader Graph。
- 在 Shader Editor 中打开 Shader Graph。
- 在 Graph Settings 中,选择 HDRP 目标。如果没有,请选择 Active Targets,单击 Plus 按钮,然后选择 HDRP。
- 在 Material 下拉选单中,选择 Unlit。
创建新的 Shader Graph。
- 选择 Assets > Create > Shader Graph > HDRP,然后单击 Unlit Shader Graph。
上下文
此主栈材质类型具有自己的一组图形设置 (Graph Settings)。由于设置和块之间的关系,这会影响哪些块与图相关。本节介绍该主栈材质类型默认添加的块,以及哪些块可以设置该主栈材质类型的图形设置 (Graph Settings) 中的属性。
如需了解图形设置与块之间的关系的更多信息,请参阅上下文和块 (Contexts and Blocks)。
Vertex Context
Default
创建新的无光照主栈时,默认情况下,Vertex Context 包含以下块:
属性 | 描述 | 设置依赖项 | 默认值 |
---|---|---|---|
Position | 每个顶点的对象空间顶点位置。 | 无 | CoordinateSpace.Object |
Normal | 每个顶点的对象空间顶点法线。 | 无 | CoordinateSpace.Object |
Tangent | 每个顶点的对象空间顶点切线。 | 无 | CoordinateSpace.Object |
Relevant
默认情况下,此主栈材质类型将所有 Vertex 块添加到 Vertex Context,并且没有其他相关的块。
Fragment Context
Default
创建新的无光照主栈时,默认情况下,Fragment Context 包含以下块:
属性 | 描述 | 设置依赖项 | 默认值 |
---|---|---|---|
Base Color | 材质的基色。 | 无 | Color.grey |
Emission | 从该材质的表面发光的颜色。发光材质在场景中显示为光源。 | 无 | Color.black |
Alpha | 材质的 Alpha 值。此设置决定了材质的透明度。期望值范围为 0 - 1。 | 无 | 1.0 |
Relevant
根据使用的 Graph Settings,Shader Graph 可向 Fragment Context 添加以下块:
属性 | 描述 | 设置依赖项 | 默认值 |
---|---|---|---|
Alpha Clip Threshold | 由 HDRP 用于确定是否渲染每个像素的 Alpha 值阈值。如果像素的 Alpha 值等于或高于此阈值,则 HDRP 会渲染该像素。如果低于此阈值,则 HDRP 不会渲染该像素。默认值为 0.5。 | • 启用 Alpha Clipping | 0.5 |
Alpha Clip Threshold Depth Postpass | 由 HDRP 用于透明深度后通道的 Alpha 值阈值。如果像素的 Alpha 值等于或高于此阈值,则 HDRP 会渲染该像素。如果低于此阈值,则 HDRP 不会渲染该像素。默认值为 0.5。 | • 启用 Alpha Clipping • 启用 Transparent Depth Postpass |
0.5 |
Alpha Clip Threshold Depth Prepass | 由 HDRP 用于透明深度预通道的 Alpha 值阈值。如果像素的 Alpha 值等于或高于此阈值,则 HDRP 会渲染该像素。如果低于此阈值,则 HDRP 不会渲染该像素。默认值为 0.5。 | • 启用 Alpha Clipping • 启用 Transparent Depth Prepass |
0.5 |
Alpha Clip Threshold Shadow | 由 HDRP 用于确定是否应渲染像素阴影的 Alpha 值阈值。如果像素的 Alpha 值等于或高于此阈值,则 HDRP 会渲染该像素。如果低于此阈值,则 HDRP 不会渲染该像素。默认值为 0.5。 | • 启用 Use Shadow Threshold | 0.5 |
Depth Offset | 着色器用来增加片元深度的增量值。此块要求输入视差遮挡贴图节点的结果以产生真实的结果。 | • 启用 Depth Offset | 0.0 |
Distortion | HDRP 使穿过材质的光在屏幕空间中每个方向上失真的程度。例如,如果此设置为 (1, 0),则输出向右偏移 1 个像素。 | • 启用 Distortion | Vector2(0, 0) |
Distortion Blur | 失真效果的模糊强度。 | • 启用 Distortion | 0.0 |
Shadow Tint | 阴影颜色和不透明度。 | • Material 设置为 Unlit • 启用 Shadow Matte |
Color.black |
Graph Settings
Surface Options
属性 | 描述 |
---|---|
Surface Type | 指定材质是否支持透明度。具有 Transparent Surface Type 的材质比具有 Opaque Surface Type 的材质在渲染时更耗资源。根据选择的选项,HDRP 会显示更多属性。选项包括: • Opaque: • Transparent:模拟光线可以穿透的半透明材质,例如透明塑料或玻璃。 有关该功能的更多信息以及每个 Surface Type 显示的属性列表,请参阅 Surface Type 文档。 |
- Rendering Pass | 指定 HDRP 处理此材质使用的渲染通道。 • Before Refraction:在折射通道之前绘制游戏对象。这意味着 HDRP 在处理折射时包含此材质。要显示此选项,请从 Surface Type 下拉选单中选择 Transparent。 • Default:根据 Surface Type,在默认的不透明或透明渲染通道中绘制游戏对象。 • Low Resolution:在 Default 通道后以半分辨率绘制游戏对象。 • After post-process:仅适用于无光照材质。在执行所有后期处理效果之后绘制游戏对象。 |
- Blending Mode | 指定 HDRP 将材质每个像素的颜色与背景像素混合的方法。选项包括: • Alpha:使用材质的 Alpha 值来更改对象的透明度。0 表示完全透明。1 表示完全不透明,但在透明渲染过程中仍然会渲染材质。对于你希望完全可见但随着时间的推移也会逐渐消失的视觉效果(例如云),这非常有用。 • Additive:将材质的 RGB 值添加到背景颜色。材质的 Alpha 通道可调节强度。值 0 表示不进行任何添加,值为 1 表示将材质颜色的 100% 添加到背景颜色。 • Premultiply:假设已经将材质的 RGB 值乘以 Alpha 通道。当过滤图像或构建不同的层时,这可以提供比 Alpha 混合更好的结果。 仅当 Surface Type 设置为 Transparent 时,才显示此属性。 |
- Receive Fog | 指示雾效是否影响透明表面。禁用后,HDRP 在计算场景中的雾效时不会考虑此材质。 |
- Depth Test | 指定由 HDRP 用于深度测试的比较函数。 |
- Depth Write | 指示 HDRP 是否为使用该材质的游戏对象写入深度值。 |
- Cull Mode | 指定对于使用此材质的游戏对象需要剔除哪个面。选项包括: • Front:剔除网格的正面。 • Back:剔除网格的背面。 仅当禁用 Double Sided 的情况下,才显示此属性。 |
- Sorting Priority | 允许更改重叠的透明表面的渲染顺序。有关更多信息以及用法示例,请参阅材质排序文档。 仅当 Surface Type 设置为 Transparent 时,才显示此属性。 |
- Back Then Front Rendering |
指示 HDRP 是否在两个单独的绘制调用中渲染该材质。HDRP 在第一个绘制调用中渲染背面,而在第二个中渲染正面。 仅当 Surface Type 设置为 Transparent 时,才显示此属性。 |
- Transparent Depth Prepass | 指示 HDRP 是否将透明表面中的多边形添加到深度缓冲区以改进其排序。HDRP 在光照通道之前执行此操作,此过程可提高 GPU 性能。 |
- Transparent Depth Postpass | 指示 HDRP 是否将多边形添加到后期处理使用的深度缓冲区。HDRP 在光照通道之前执行此操作。如果要使用需要深度信息的后期处理效果(如运动模糊或景深),启用此功能非常有用。 |
- Transparent Writes Motion Vectors | 指示 HDRP 是否为使用该材质的透明游戏对象写入运动矢量。这允许 HDRP 处理透明对象的运动模糊等效果。有关运动矢量的更多信息,请参阅运动矢量文档。 仅当 Surface Type 设置为 Transparent 时,才显示此属性。 |
Alpha Clipping |
指示该材质是否类似于镂空着色器 (Cutout Shader)。 有关该功能的更多信息以及该功能显示的属性列表,请参阅 Alpha Clipping 文档。 |
- Use Shadow Threshold |
指示 HDRP 是否对 Alpha 裁剪阴影使用另一个阈值。 仅当启用 Alpha Clipping 时,才显示此属性。 |
- Alpha to Mask |
指示是否开启 alpha-to-coverage。如果项目使用 MSAA,alpha-to-coverage 会根据像素着色器结果 Alpha 值按比例修改多重采样覆盖率遮罩。通常用于植被抗锯齿和其他经过 Alpha 测试的着色器。 仅当启用 Alpha Clipping 时,才显示此属性。 |
Double Sided | 指示 HDRP 是否渲染几何体中多边形的两个面。有关该功能的更多信息以及该功能可显示的属性列表,请参阅 Double-Sided 文档。 |
Depth Offset | 指示 HDRP 是否根据位移修改深度缓冲区。因此,使用深度缓冲区的效果(例如,接触阴影 (Contact Shadows))可以捕获像素位移细节。 |
Shadow Matte | 指示着色器是否接受阴影。阴影遮罩 (Shadow Matte) 仅支持阴影贴图。它不支持屏幕空间阴影、光线追踪阴影和接触阴影。 |
Distortion
仅当 Surface Type 设置为 Transparent 时,才显示此组设置。
属性 | 描述 |
---|---|
Distortion | 指示是否使穿过该透明材质的光失真。 |
Distortion Blend Mode | 指定 HDRP 对重叠的失真表面进行混合的模式。选项包括: • Add:将输出失真值与像素中的当前失真值相加。这是默认模式。 • Multiply:将输出失真值与像素中的当前失真值相乘。 • Replace:用输出失真值替换像素中的当前失真值。 仅当启用 Distortion 时,才显示此设置。 |
Distortion Depth Test | 指示靠近摄像机的游戏对象是否隐藏失真效果。禁用此设置可让失真效果显示在渲染的上层。 仅当启用 Distortion 时,才显示此设置。 |
Distortion Only | 指示是否禁用游戏对象的渲染而仅渲染其失真通道。如果要在不改变颜色的情况下产生失真效果(例如,热空气失真),此设置将非常有用。 |
Advanced Options
属性 | 描述 |
---|---|
Support Lod Crossfade | 指示当网格从一个 LOD 级别移动到另一个 LOD 级别时 HDRP 是否处理抖动。 |
Add Precomputed Velocity | 指示是否使用存储在 Alembic 文件中的预先计算的速度信息。 |