如何在UE5中创建全屏径向模糊-后处理效果
Game艺视界原创文章原创 14616 0
实名

通过了实名认证的内容创造者

发布于 2022-9-24 14:15:05

您需要 登录 才可以下载或查看,没有账号?注册

x
本期内容:
今天我们学习展示如何在虚幻中进行全屏径向模糊

b3b7ee6fb7a447d654ec5528ce10bdad.gif


我们需要做的第一件事是设置我们的材质域,我们将创建这个着色器作为后期处理着色器

9282129ff499b149498dcd77d6f20e86.png

我们需要的第一件事是矢量 2, 我将按住 2 键并单击,这将给我们一个 0 0 的值,我们希望这个值表示的是屏幕的中心,因此屏幕在两个维度上都从0变为1所以如果我给它一个 0.5 0.5 的值,这表示位于中心的像素所以如果我给它一个 0.5 0.5 的值,这表示位于中心的像素,所以正如我所说,我们需要绘制我们需要创建一个从中心到我们当前正在渲染的像素的向量,所以给你为了获得我们当前正在渲染的像素,我们将使用我们的纹理坐标对于每个像素,这个值在屏幕上的 x 和 y 位置是不同的,所以我可以在这里添加一个减法节点,从我们当前渲染的位置中减去屏幕中心的位置


然后我们可以将这个值乘以一个硬编码的常数,表示我们想要应用多少模糊或离我们的中心像素有多远我们的样本将是这样的,所以这将是一个乘数,如果我们想控制是否要或多或少地模糊,我们可以在以后使用它


继续新建乘法节点我将要用来相乘的这个值,表示我当前正在渲染的像素的距离,这个样本将是对于第一个,我将使用负 0.05 的值,然后每个连续的每个都将是负 0.04 0.03 0.02接近中心,我们将返回相反的方向正值好然后我们将该值添加到我们的纹理坐标然后我们将饱和我们的结果,以确保我们将纹理坐标保持在 0 到 1 范围内,因为我们不想尝试屏幕外的样本像素


然后我们添加场景纹理节点,这就是我们将要使用的,它将对我们的屏幕进行采样,所以我们将我们的 uvs 传递到场景纹理节点现在我们要确保我们的场景纹理节点设置为后处理输入0因为那是我们的屏幕



所以我们将从屏幕中获取值并使用此信息对其进行采样,然后我们想将其乘以权重,当我在做小插图时,我告诉过你中心越远是或不是中心离我们当前像素越远这个样本的权重值越低,我所做的是我找到了一个网站,允许我们使用一个小计算器来计算这些权重,所以我们得到 一个漂亮的高斯曲线或衰减让我告诉你这个网站,
算出屏幕样本乘以整个最小值我们要在这里获取一个添加节点
现在这些是对屏幕进行采样的节点


所以我可以继续复制粘贴11次,所以我可能会,插入每一个样本




现在我只需要将东西连接到根节点我要做的最后一件事是添加一个 lerp,这将控制要应用多少效果,所以我要添加 一个线性插值节点在这里我将把最后一个附加值连接到b,然后我将来到这里(中间那个0值)并找到我的值为零


插入a这是在中间的样本,它代表屏幕,因为它应该没有模糊,单击添加一个常量值并将其连接到 alpha,所以现在当我设置这个 这里的值是0 它不会给我任何模糊,当我将它设置为 1 时它会给我全部的模糊量,保存切换到我们的场景(红框为模糊强度)


在后处理列表中切换到我们创建的材质


模糊效果



可以看到它们有点像这些周围有一圈圈轮廓,如果你不希望这样



你可以在这里降低这个值


0.5的时候更像是一个很好的模糊,而不是场景中那样,所以这是一个很好的小值(0.2,1)


增加样本数可以获得更大模糊但它也会更平滑,但是你做的样本越多,你的效果就越昂贵,所以你可能想在你的样本数量之间找到一个很好的平衡点所做的事情以及这些样本彼此之间的距离,这样你就可以获得一个很好的平滑模糊
视频版


下期见,学习不止,不止学习

本帖被以下画板推荐:

微信公众号:Game艺视界
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表