预先准备

首先,确保你的Unity版本高于2022.2,并且项目为URP项目。

创建一个Fullscreen Shader Graph,Blend Mode设置为Alpha,并且创建对应的Material。




然后,找到你的Scriptable Render Pipline Asset(位置在Edit-Project Settings-Graphics),在里面找到Renderer List,修改渲染器的配置,添加Add Renderer Feature。




将Pass Material设置为你创建的Material,如下图。




Shader Graph编辑

我们希望制作一个只在边缘出现,不影响主要内容的全屏滤镜,因此我们需要一个中心值低,而边缘值高的分布。

距离中心的距离越远,结果值越高,可以用length节点和Power节点来实现。如下图所示。其中的Color需要设置为HDR颜色。




调整一下各项参数后,可以得到如下结果




更好的效果

我们可以使用噪声来产生更多变的特效,但是为了在性能上考虑,建议在实际开发时使用预先制作好的材质







显然,可以添加Time节点来让其更有动感,同时也可以使用重映射后的Sine函数来控制大小,从而产生呼吸感。

下载链接

FullScreen.shadergraph