Unity升级项目到URP(通用渲染管线)以及画面后处理问题

1,870 阅读2分钟

一、前言

Urp (Universal Render Pipeline),通用渲染管线 什么是渲染管线(Render Pipeline),是实现芯片内部处理图形信号相互独立的并行处理单元 Unity使用固定渲染管线,对于游戏开发者没有个性化的调整空间,后来出现了可编程渲染管线Srp

可编程渲染管线

1.Srp使用C++封装一些接口提供给C#调用

2.Srp有URP和HDRP两者,而URP面向低性能的一种渲染方式,HDRP不支持手机端

3.URP未来可能是Unity的默认渲染管线

二、项目升级

1.升级前备份

1.在开始的时候有先备份项目,保证升级后出现问题

2.做好备份,在window找到Package Manager找到Universal RP和Shader Graph,点击安装完成安装

飞书20211222-112454.png

2.将默认的渲染管线替换为URP渲染管线

在File Build Setting 选择Player Setting 中选择Graphics,在Scriptable Rander Pipeline Settings里面选择URP Asset 飞书20211222-112940.png 把项目里的默认渲染管线里面的Shader升级为URP的Shader

飞书20211222-114112.png ShaderGraph生成的Shader需要点击SaveAsset重新保存一下

飞书20211222-114732.png 3.项目升级为URP出现的问题

1.自己写的Shader不兼容 只能手动更改Shader,或者用ShaderGraph重新写一个 2.多相机渲染问题 升级为URP的时候,多相机渲染问题发生了变化,重新设置相机渲染方式,除了主相机的Camera组件上的Rander Type改为Overlay,同时在主相机上Stack功能区上添加需要混合的相机。

三、URP提升游戏画面表现

后处理技术

飞书20211222-133508.png Global Volume 及全局后处理技术 Profile 添加一些后处理效果

Bloom的参数

Threshold :设置URP应用Bloom的伽玛空间亮度值。URP不会应用于场景中亮度低于此值的任何像素。最小值为0,不过滤任何内容。默认值为0.9。没有最大值

Intensity:设置Bloom滤镜的强度,范围为0到1。默认值为0,这表示Bloom效果被禁用

Scatter:将光晕效果的半径设置在0到1的范围内。值越大,半径越大。默认值为0.7

Tink:使用颜色选择器选择要使用的Bloom效果的颜色

High Quality Fittering:高质量

Deir Testure:分配一个纹理,以将灰尘(例如污迹或灰尘)的效果施加到镜头上

Dirt Intensity:设置镜头污垢效果的强度