Unity3D URP 的后处理——Render Feature
2023-04-19 12:22 作者:我有一个很厉害的名字 | 我要投稿

前言
URP的后处理需要依赖RendererFeature,我们需要创建两个类分别继承ScriptableRendererFeature和ScriptableRenderPass。
为了方便调节参数,再创建一个类继承VolumeComponent,将参数写在这个类里,后面就可以直接在GlobalVolumeProfile上调参数。
1、创建ScriptableRendererFeature
创建TestRendererFeature继承ScriptableRendererFeature并实现抽象方法,
实例化TestRenderPass并做相应设置。
TestRendererFeature类完成!
2、创建ScriptableRenderPass
创建TestRenderPass继承ScriptableRenderPass并实现抽象方法,为了方便操作将两个类放在了同一个文件。增加构造方法和Setup方法供TestRendererFeature使用。
主要逻辑在Execute中处理,在这里将屏幕渲染图和参数传给shader处理,直接代码吧。
3、创建VolumeComponent
创建TestVolume继承VolumeComponent并实现接口。将需要暴露的参数定义好。
注意参数类型必须继承自VolumeParameter。大部分类型Unity已经实现,如果有特殊需求可以自己定义。
4、创建后处理shader
效果就简单的将rgb做一个偏移吧,shader如下
5、设置
创建一个材质Test,把上面创建的Test shader给它。
然后

设置Volume



结束!