本系列的博客主要是关于 Unity 引擎中的 URP(Universal Render Pipeline) 渲染管线中的一些介绍。Unity 在 2019.3 版本中对 LWRP 进行了升级,将名称改变为 URP,并且一直在推进用户使用 URP 创建新的项目。虽然至今 Built-in RP 还是主流的渲染管线之一,但是随着时代的发展,具有更多灵活性的 URP 最终肯定会取代 Built-in RP。
本篇笔记主要从 Unity URP 中自带的几个材质开始深入介绍 Unity 的 URP 管线。
URP 内置 Shader
URP 的材质系统中,自带的材质着色器已经全部处于 Universal Render Pipeline 这个分支下了。
这个分支中我们需要介绍的是内置的四个着色器:Lit, Simple Lit, Baked Lit 和 Unlit。
Lit
Lit 着色器是 URP 中创建一个材质时默认使用的着色器。Lit 着色器已经按照 PBR 着色的方式处理好了光照,并且暴露了一系列物理光学参数给用户。这是 URP 中最容易使用的、最基本的着色器。
Simple Lit / Baked Lit
Simple-Lit 使用 Blinn-Phong 模型着色,并非基于物理,但是它计算更少,因此可以在低端设备上运行。
Baked-Lit 是在项目不需要实时光照和高光反射等渲染效果的时候使用的,同样也并非基于物理,甚至不是 Blinn-Phong,而是使用来自 Unity 已经烘焙的光照贴图(lightmaps)和光照探针(light probes),因此不支持实时光照。它比 Simple-Lit 更快。
Unlit
Unlit 不与任何灯光交互,因此是最快的 Shader 。
以上所有的 Shader 均可以在项目的 Packages / Universal RP / Shaders 路径中查看,或者也可以直接在 Material 的 Inspector 面板中点击 Edit 查看其内部详细信息。
Lit Shader
我们重点了解 Lit Shader 的结构,同时也可以通过 Lit Shader 结构总结出 ShaderLab 在 URP 中做出的改动。
Comments