
本教程将介绍Unity如何在通用渲染管线(URP)中应用后期效果。
简介
在内置管道中,主流方法是使用Post Processing(后期处理)应用后期效果,可以参阅下面的站内文章。
但是,此方法只能与Unity2019LTS + URP7.x一起使用,不能与后续的URP一起使用,因为Unity不再支持OnRenderImage等事件函数,相反,使用为URP提供的后效应机制。
因为本文不涉及URP通用渲染管线的基础知识,如有需要请参考下面的文章。
使用URP应用后期效果的过程
设置渲染器数据
由于URP10系列及更早版本不存在此项目,请跳过此部分。
首先,编辑Universal Render Pipeline Asset的Renderer List中设置的ScriptableObject。

在这个ScriptableObject的检查器中,选中Enabled for Post-processing。

这是一个设置项,用于决定在构建时是否排除Post Processing相关的shaders和textures。
设置相机
接下来,选中要应用效果的相机的渲染 → 后处理。

创建体积
接下来,创建一个体积对象以指定应用效果的范围,这一次,创建一个全局体积以应用效果,而不管相机位置如何。
选择游戏对象 → 体积 → 全局体积。

除了全局体积之外,还有其他体积 ,例如球形体积和盒子体积,这些允许设置仅当相机在该碰撞器范围内时才应用的后期效果。

添加效果
创建体积后,将为该体积设置效果。
首先,按新建按钮创建配置文件资产,接下来,从添加覆盖按钮选择并应用最喜欢的效果。

现在应用后期效果。

关于作为渲染器功能应用的后期效果
一些后期效果(目前是SSAO和屏幕空间阴影)被用作渲染器功能,要应用它,请单击正向渲染器数据资产检查器底部的添加渲染器功能,然后选择所需的效果。

移动和处理负载
现在,后期效果正在处理大量负载。因此,在移动设备上使用时需要注意处理负载的大小,根据手册,以下效果适合移动设备。
- Bloom
- 色差
- 颜色分级
- 镜头畸变
- 小插图
还建议使用高斯模式进行景深和FXAA进行抗锯齿。但是,即使注意了以上,Bloom、Depth Of Field、anti-aliasing等处理也难免会很重,所以在低配置的设备上应用时,应该检查实际设备上的处理负荷。
关于自定义后期效果
URP中已弃用OnRenderImage等事件,因此无法以传统方式创建自己的后期效果,当前版本不正式支持自定义后期效果,但计划在未来支持。
请注意:URP当前不支持自定义后处理效果,如果项目使用自定义后处理效果,则目前无法在URP中重新创建这些效果。
但是,可以通过扩展渲染路径在内置后期效果之前或之后添加效果。
…
以上是3D天堂关于如何在Unity通用渲染管线中应用后期效果的全部内容,如果你有任何反馈,请随时在本页面下方留言。