无光照着色器 (Unlit Shader)
此着色器用于视觉效果中不需要光照的效果或特殊对象。由于没有耗时的光照计算和查找,因此该着色器最适合低端硬件。无光照着色器使用 URP 中最简单的着色模型。
在编辑器中使用无光照着色器
要选择和使用此着色器,请执行以下操作:
- 在项目中,创建或查找要使用此着色器的材质。选择 Material。随后将打开 Material Inspector 窗口。
- 单击 Shader,然后选择 Universal Render Pipeline > Unlit。
UI 概述
此着色器的 Inspector 窗口包含以下元素:
Surface Options
Surface Options 控制材质在屏幕上的渲染方式。
属性 | 描述 |
---|---|
Surface Type | 使用此下拉选单可以将 Opaque 或 Transparent 表面类型应用于材质。这决定了 URP 渲染材质的渲染通道。Opaque 表面类型总是完全可见(无论其背景是什么)。URP 首先渲染不透明材质。Transparent 表面类型受其背景影响,它们可根据您选择的透明表面类型而有所不同。URP 在不透明对象之后的单独通道中渲染透明材质。如果选择 Transparent,则会出现 Blending Mode 下拉选单。 |
Blending Mode | 使用此下拉选单可以确定 URP 如何通过将材质与背景像素混合来计算透明材质的每个像素的颜色。 Alpha 使用材质的 Alpha 值来更改对象的透明度。0 表示完全透明。1 表示完全不透明,但在透明渲染过程中仍然会渲染材质。对于您希望完全可见但随着时间的推移也会逐渐消失的视觉效果(例如云),这非常有用。 Premultiply 对材质应用与 Alpha 类似的效果,但保留反射和高光,即使表面是透明的情况下也是如此。这意味着只有反射光可见。例如,想象一下透明玻璃。 Additive 在另一个表面之上给材质添加额外的一层。这对全息图很有用。 Multiply 将材质的颜色与表面的背景颜色相乘。这会产生更暗的效果,就像透过有色玻璃观看一样。 |
Render Face | 使用此下拉选单可以确定要渲染几何体的哪些边。 Front Face 渲染几何体的正面并剔除背面。这是默认设置。 Back Face 渲染几何体的正面并剔除正面。 Both 使 URP 渲染几何体的正面和背面。这适用于小而扁平的对象,如树叶,因为这种情况下您可能希望两面都可见。 |
Alpha Clipping | 使材质像镂空着色器一样。此属性用于创建在不透明区域和透明区域之间具有硬边的透明效果。例如,创建草叶。为实现此效果,URP 不会渲染低于指定 Threshold(阈值)的 Alpha 值(该阈值会在启用 Alpha Clipping 时显示)。您可以通过移动滑动条来设置 Threshold,滑动条接受 0 到 1 之间的值。高于阈值的所有值都是完全不透明的,而低于阈值的所有值都是不可见的。例如,阈值为 0.1 意味着 URP 不会渲染低于 0.1 的 Alpha 值。默认值为 0.5。 |
Surface Inputs
Surface Inputs 用于描述表面本身。例如,可以使用这些属性使表面看起来湿润、干燥、粗糙或光滑。
属性 | 描述 |
---|---|
Base Map | 向表面添加颜色,也称为漫射贴图。要将纹理指定给 Base Map 设置,请单击旁边的对象选择器。这将打开资源浏览器 (Asset Browser),您可以从中选择项目中的纹理。或者,也可以使用拾色器。该设置旁边的颜色显示所指定纹理上的色调。要指定其他色调,可以单击此颜色样本。如果在 Surface Options 下选择了 Transparent 或 Alpha Clipping,则材质将使用纹理的 Alpha 通道或颜色。 |
Tiling | 这是一个 2D 乘数值,可以根据 U 轴和 V 轴来缩放纹理以适应网格。这适用于地板和墙壁等表面。默认值为 1,表示不缩放。设置较高的值可以使纹理在网格上重复。设置较低的值可以拉伸纹理。请尝试不同的值,直至获得所需的效果。 |
Offset | 表示在网格上定位纹理的 2D 偏移。要调整网格上的位置,请在 U 轴或 V 轴上移动纹理。 |
Advanced
Advanced 设置会影响渲染的底层计算。它们对表面没有明显的影响。
属性 | 描述 |
---|---|
Enable GPU Instancing | 如果可能,使 URP 在一个批次中使用相同的几何体和材质来渲染网格。这样可以加快渲染速度。如果网格具有不同的材质或者硬件不支持 GPU 实例化,则 URP 无法在一个批次中渲染这些网格。 |
Priority | 使用此滑动条可以确定材质基于时间顺序的渲染顺序。URP 首先渲染具有较小值的材质。此属性可用于使管线首先在一些材质之前渲染另一些材质,因此不必将重叠区域渲染两次,从而减少设备上的过度绘制。这类似于 Unity 内置渲染管线中的渲染队列。 |