第一步 URP的介绍
URP(Universal Render Pipeline)通用渲染管线,是Unity在2019.3版本之后推出的一种新的渲染管线。
对比起默认的渲染管线,他的使用上会产生了一些变化,包括了摄像机的使用、Shader的编写等。
传统的渲染管线在渲染多光源的情况,是把每一个主要光源都使用一个Pass来计算,然后再叠加,所以在计算多光源实时光时,消耗会比较大。
URP的特点是,假定了一些特定的条件,比如主光源只能是平行光、限定附加光源数量,然后在一个pass内处理完所有光源和光照的计算。这样会解决了默认渲染管线对于多光源的计算。
URP的另外一个特点是SRP Batcher合并的支持。合并批次渲染是渲染性能优化的重要手段,之前介绍过静态合批、动态合批、GPU Instancing等,SRP Batcher也是一种非常优秀的合批的技术手段
所以URP在移动平台开发比较受欢迎,它能做出效果不错而性能也不错的实时光效果。
第二步 安装URP
2.1 安装universal RP
2.2 在Package Manager里面搜索并安装UniversalRP
2.3安装后,Packages里面会增加Core RP Library好Universal RP两个package文件夹
第三步 把项目转变成URP
3.1 项目转变成URP
3.2 在安装了Universal RP的package之后
在安装了Universal RP的package之后,会发现Create选项里面多了Rendering/Universal Render Pipeline的选项,可以创建Pipeline Asset
创建之后,会发现有2个asset文件,一个是我们自己起的名字,一个是自己起的名字加上_Renderer结尾
3.3 第一个文件是对于渲染的各项设置
3.4 第二个文件是附加的渲染设置
3.5指定使用URP的Asset文件
在Project Setting里面,分别在Graphics和Quality页签指定刚才创建的管线Asset文件。
3.6 发生的变化
3.6.1摄像机
在指定了URP渲染asset之后,会发现摄像机的选项发生了非常大的变化,左边的是URP摄像机,右边的是普通的摄像机
3.6.2 材质球
新创建的材质球,默认使用的shader不再是Standard,而变成Universal Render Pipeline/Lit
如果手动改回Standard,会发现材质球变成了错误的紫色,Standard在URP里面不再被支持
如果针对旧项目的Standard材质球,可以使用工具Edit/Render Pipeline/Universal Render Pipeline下面的2个选项来转换材质球,第一个是遍历项目内所有的材质球并转换成URP类型,第二个是只转换当前选择的材质球为URP类型。
不是所有的材质球都需要转换的,假如材质球原来使用的shader就不需要转换,那么会出现这样的提示
3.6.3 Shader的支持
对于Shader部分,首先,在Shader文件的Inspector面板上,会显示出了SRP Batcher的情况,说明了该Shader是否支持SRP Batcher
然后看看URP的支持库里面,全部都是hlsl文件,这代表着如果我们想用里面提供的方法,那么我们就要把之前使用的CGPROGRAM改为HLSLPROGRAM了。
第四步 新建 urp项目
4.1 创建urp项目
4.2 camera 设置
4.3 以 2592 x1596 为事列
右边的屏幕适配尺寸根据游戏对象选择的尺寸自动适配的,选择不同的尺寸会有不同的是配