zhouqijie

Universal Render Pipeline(URP)

Unity在2018版本推出了可编程渲染流水线功能,并提供了两个可以直接使用的模板,分别是HDRP(高清渲染管线)和LWRP(轻量渲染管线)。后来LWRP升级并更名为URP。



CG和HLSL

Unity在推进Scriptable Render Pipeline时选择HLSL作为主要着色器语言,它既具备强大的表达能力,又能够通过工具链适配多种平台。

chatGPT:Unity的HLSL是DirectX的HLSL的一个“跨平台超集”。



URP项目

如何创建URP项目:

  1. 创建新的URP项目。
  2. 升级旧项目为URP项目。

如何升级旧项目:

  1. PackageManager安装UniversalRP扩展包。
  2. 创建URPAsset,然后再ProjectSetting的Graphics中指定该Asset。
  3. 升级旧材质。



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)