版本:Unity 6 (6000.0)
语言:英语
URP 中的着色器
在 URP 中选择预制着色器

URP 中的着色模型

着色模型定义了材质的颜色如何根据表面方向、观察者方向和光照等因素而变化。您选择着色模型取决于应用程序的艺术方向和性能预算。通用 渲染管线一系列将场景内容显示到屏幕上的操作。Unity 允许您从预制渲染管线中选择,或编写自己的渲染管线。 更多信息
参见 术语表
(URP) 提供以下着色模型的 着色器在 GPU 上运行的程序。 更多信息
参见 术语表

基于物理的着色

基于物理的着色 (PBS) 通过基于物理原理计算从表面反射的光量来模拟物体在现实生活中的外观。这使您可以创建逼真的物体和表面。

此 PBS 模型遵循两个原则:

能量守恒 - 表面反射的光永远不会超过总入射光。唯一的例外是物体发出光时。例如,霓虹灯。微几何 - 表面在微观层面上具有几何形状。有些物体具有光滑的微几何形状,使其具有镜面外观。其他物体具有粗糙的微几何形状,使其看起来更暗淡。在 URP 中,您可以模仿渲染物体表面的光滑度级别。

当光照射到渲染物体的表面时,部分光会反射,部分会折射。反射光称为镜面反射。这取决于 相机一个组件,它创建场景中特定视点的图像。输出要么绘制到屏幕上,要么作为纹理捕获。 更多信息
参见 术语表
方向和光照射到表面的点(也称为 入射角)。在这个着色模型中,镜面高光的形状是用 GGX 函数近似的。

对于金属物体,表面会吸收和改变光线。对于非金属物体(也称为 电介质 物体),表面会反射部分光线。

光衰减仅受光强度影响。这意味着您不必增加灯光范围来控制衰减。

以下 URP 着色器使用基于物理的着色:

注意:此着色模型不适合低端移动硬件。如果您要针对此硬件,请使用具有 简单着色 模型的着色器。

要详细了解基于物理的渲染,请查看 Joe Wilson 在 Marmoset 上的此演练

简单着色

此着色模型适用于风格化的视觉效果或在性能较低的平台上运行的游戏。使用此着色模型,材质并非真正逼真。着色器不遵守能量守恒。此着色模型基于 Blinn-Phong 模型。

在此简单着色模型中,材质会反射漫反射光和镜面反射光,两者之间没有关联。从材质反射的漫反射光和镜面反射光的量取决于您为材质选择的属性,因此总反射光可能超过总入射光。镜面反射仅随相机方向而变化。

光衰减仅受光强度影响。

以下 URP 着色器使用简单着色:

烘焙光照着色

烘焙光照着色模型没有实时光照。材质可以接收来自 烘焙光照预渲染的纹理,其中包含光源对场景中静态物体的影响。光照贴图叠加到场景几何体之上以创建光照效果。 更多信息
参见 术语表
光探针光探针存储有关光照如何穿过场景中的空间的信息。在给定空间内排列的一组光探针可以改善该空间内移动物体和静态 LOD 场景的光照。 更多信息
参见 术语表
的光照。这会以较小的性能成本为您的 场景场景包含游戏中的环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是对游戏进行设计和构建。 更多信息
参见 术语表
添加一些深度。使用此着色模型的游戏可以在性能较低的平台上运行。

URP Baked Lit 着色器是唯一使用烘焙光照着色模型的着色器。

没有光照的着色器

URP 带有一些非光照类型的着色器。使用非光照类型着色器的材质不受实时光照或烘焙光照的影响。非光照着色器让您可以为场景中的物体创建独特的视觉效果。与光照着色器相比,非光照着色器的编译速度要快得多。

以下 URP 着色器没有光照:

URP 中的着色器
在 URP 中选择预制着色器