URP渲染管线实战教程系列1

发布时间 2023-10-23 14:19:39作者: rain4414

1.1 URP渲染管线实战解密(一)

 

现在越来越多的手游开发都采用URP渲染管线,来代替之前Unity引擎默认的向前渲染管线,本节通过一下几个方面来阐述URP 渲染管线,对URP渲染管线有个全面认识。

 

(1)为什么使用URP渲染管线;

(2)如何创建一个URP渲染管线的项目;

(3)基于URP渲染管线的全局配置

 

 

1为什么使用URP渲染管线

 

  游戏是从PC端游发展起来的,我们拿传统的向前渲染管线中的光源来距离,向前渲染管线支持任意多的重要光源,每个重要光源, Unity 都要基于这个光照来绘制一次物体, 这样导致pass次数非常的多,性能消耗开销非常大,于是就有静态光照,静态烘培等。随着手机游戏的发展,人们不满足于假的静态光照,需要实时光照,又要保证很好的性能。这个时候,就需要开发者做一个权衡和选择,在特定的满足手游开发需求前提下,最大限度的提升性能,于是URP渲染管线就出来了,他假定了一些特定条件如主光源只能是平行光,其它的附加光源在配置文件中限定数目,在一个pass内处理完所有的光源与光照计算。加上这些限制条件后,URP渲染管线能开发出满足手机游戏的实时光照的很好效果,同时又能最大限度的获得最好的性能。URP渲染管线是对使用环境做一些限定,基于这些限定来定制渲染策略, 获得很好效果的同时还有很好的性能。所以慢慢的很多公司都采用URP渲染管线来做手机游戏。

  URP渲染管线,是基于Unity游戏引擎的可编程渲染管线机制,接合URP渲染管线的前提,实现的渲染策略。从渲染来说他有重新定制了摄像机,光照计算,阴影计算,后期处理,特有的一套Shader(基于URPPBR shader,以前的向前渲染管线的PBR Shader不能用了)Unity在新版本中把URP渲染管线做成一个工程项目模板,我们使用这个模板来创建URP渲染管线项目非常容易,后续我们也会讲如何把老项目升级成URP渲染管线项目。

 

2 如何创建一个URP渲染管线的项目

 

  接下来我们使用Unity 2020.2.3f1 来创建一个URP渲染管线的项目,基于这个项目来学习URP。打开Unity Hub,选择新建项目会出现URP项目模板,如图 1.1-1所示:

 

 

创建完成以后,我们就能看到一个标准的基于URP渲染的项目与开发环境(Packages下都有URP的渲染管线代码与Shader,项目目录下有一些URP相关的一些设置等。),基于这个环境来开发自己的项目与代码就可以了,其实和普通的没有什么差别。如图1.1-2:

 

 

接下来从文件夹入手来分析一下URP的示例场景与项目的组织方式。实例场景给出了URP的几个重要部分,如图1.1-3:

 

 

1.1-3

URP摄像机: Main Camera, 下面再写关于base摄像机与Overlay摄像机。

主光源与附加光源:主光源是平行光,可以多个平行光叠加,附加光源再场景中部署如图1.1-4: 

  

 

画面的后期处理: 画面后期处理的控制,主要是渲染完成后针对,加一些后期的渲染效果,分为全局与局部模式,后面的教程再讲解。如图1.1-5所示:

 

 

接下来看下URP项目文件夹,URP项目组织其实和普通的差不多,Packages下安装好了URP相关的依赖,在Assets下和普通的稍有不同,主要在于URP的配置文件,一起来看下。

 

 

1.1-7中ExampleAssetsMaterials文件夹我们导自己项目里面直接可以删除,到时候用项目的资源目录相关代替就可以了。Presets文件夹里面存放了一些全局的设定,一般带到项目就可以了。Scenes / Scripts文件夹存放场景与代码,和普通项目一样,可以随意的删除与修改。Settings文件夹存放了渲染管线的配置文件相关如图1.1-8,不要删除。

 

TutorialInfo文件夹项目中可以删除,没有任何实际的作用。

 

 

 

URP渲染管线Shader相关都存放在这里,做项目开发的时候要使用基于URP的Shader,自己开发Shader也要符合URP的规范。

 

3基于URP渲染管线的全局配置

URP渲染管线的决定渲染关键性的全局配置参数在PipeLine的配置里面。如何打开全局配置,打开Project Settings窗口啊, 选择Graphics,如图1.1-10

 

这里有光照,雾以及预加载的Shader以外,就是有一个Scriptable Render Pipeline Settings, 这里就是渲染管线的一些配置,而这个文件关联的就是项目中Settings文件夹中的设置,如图1.1-11所示: 

 

 

URP渲染管线的设置分成了3个等级,每个等级一个配置文件,分为: 

高渲染质量等级:UniversalRP-HighQuality

中渲染质量等级: UniversalRP-MediumQuality

低渲染质量等级:UniversalRP-LowQuality

渲染设置的主要参数如下,如图1.1-12所示

 

 

你可以根据手机的性能来切换渲染等级,从而在不同的性能手机上来在性能与效果之间获得很好的平衡。