Universal Render Pipeline(URP)
Unity在2018版本推出了可编程渲染流水线功能,并提供了两个可以直接使用的模板,分别是HDRP(高清渲染管线)和LWRP(轻量渲染管线)。后来LWRP升级并更名为URP。
CG和HLSL
Unity在推进Scriptable Render Pipeline时选择HLSL作为主要着色器语言,它既具备强大的表达能力,又能够通过工具链适配多种平台。
chatGPT:Unity的HLSL是DirectX的HLSL的一个“跨平台超集”。
URP项目
如何创建URP项目:
- 创建新的URP项目。
- 升级旧项目为URP项目。
如何升级旧项目:
- PackageManager安装UniversalRP扩展包。
- 创建URPAsset,然后再ProjectSetting的Graphics中指定该Asset。
- 升级旧材质。
URP内置Shader
SRP不兼容旧管线的Shader,URP项目中应该使用URP的Shader。
Lit
Lit使用PBR光照模型,用于写实渲染。
不同于旧管线的Standard着色器,Lit着色器整合了Metallic和Specular两种模式,而且还可以自定义剔除模式。
Simple Lit
Blinn-Phong光照模型。
Baked Lit
烘焙的光照贴图。
Unlit
不使用任何光照模型,输出原始颜色。
补充:ShaderGraph和Shader代码
URP和HDRP的内置ShaderGraph目前不完善,而且有一定局限性,很多时候需要编写Shader代码。
URP的Packages目录中的内容
Packages/Universal RP/Shaders
一些内置的Shader文件。
Packages/Core RP Libraries
一些用于Shader计算的库文件。
Packages/Universal RP
URP内置Shader所关联的包含文件。
参考资料
《Unity Universal RP内置Shader解析》- Tang FuXing
(END)