UE5后期处理着色器 | 场景模糊和锐化滤镜制作
Game艺视界原创 16958 2
实名

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

发布于 2022-7-5 13:30:50

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

x
本帖最后由 Game艺视界 于 2022-7-5 13:31 编辑

本期内容
往期回顾:屏幕扭曲

6cf60a0ee9196811b40c8ffbc092448a.png

全屏幕遮罩/正方形、圆形、屏幕暗角

75ec565764d9b319c49e1cb6404e80b5.png

让我们来看看模糊和锐化效果是如何工作?
我们将从采样场景本身开始,我们会对场景进行多次采样,然后把它们结合起来样本一起创建一个模糊的图像对于这个着色器,我们要做7个样本我们将在当前像素的正中央做一个样本渲染,然后我们再做六个样本在样本周围形成一个环中间的样本比边缘的样本,更重然后我们把所有的样本混合在一起。我们的结果是模糊的,所以我们首先要做的是如何得到这7个的uv坐标样本。一旦我们有了uv坐标,我们将使用它们对场景进行采样第三步,我们将7个样本组合在一起为了创建一个模糊的图像,我们有一个简单的三步过程
我们首先要做的是弄清楚如何获取屏幕样本坐标,以使我们的场景采样七次
01-首先我们按下2键然后得到7个常数向量两个值,这些值代表我们制作的每个样本我们知道第一个样本在正中间所以它可以是它的值可以是0那么这两个将代表左边和右边的样本值设为2
02-接下来将这些值转换为实际像素的值,为了做到这一点,我们需要添加一个节点到我们的场景称为屏幕分辨率可见分辨率值会告诉我们像素的数量以及我们当前所处的视口中向下的像素数渲染并获得实际像素的大小,
03-我们需要做的就是用1除以可见屏幕分辨率,所以我们在这里添加一个除法节点用我们的可视分辨率和1除以屏幕可见分辨率将给我们单个像素的大小

04-现在为了创建正确的像素偏移,我们只需要乘以每个值都取决于屏幕像素大小所以我要继续,加一个乘法我们要把每一个相乘。好的,现在我们有了7个像素的偏移,
05-剩下要做的就是添加这些偏移到我们的纹理坐标所以我要添加一个纹理坐标节点,然后我们将获得纹理坐标并将它与我们的7个像素相加偏移量
06-我们可以用来对场景进行采样这是我们创建uv的第一步,uv坐标允许我们在中心的场景中取样然后是围绕中心的另外六个位置现在我们来进行第二步我们将用到这些uv坐标来采样我们的场景,这是非常简单的,我们只需要添加一个场景纹理节点,我们将设置场景纹理节点到后期处理输入0,这将给我们一个样本
07-取样本,乘以一个小于1的值在这个例子中,我需要6个样本,总共是0.7,我将设置中心的权重样本值为0.3,如果我用0.7除以6,就得到这个值这就是我们得到的值0.11666我要把它四舍五入,所以我们再加上一个乘法节点我们要乘以0.1166
08-现在剩下要做的就是添加我们的七个样本一起我们把前两个和第三个相加,插入根节点自发光点击保存
可以看到我们的场景模糊前后对比,
如果你想控制整个效果,我们可以使用lerp节点在模糊版本和普通版本之间进行混合我们来添加一个线性插值节点我们把模糊的版本代入b然后我可以先取第一个样本,然后再乘以
如果我们给数值为负数我们效果是在锐化;如果0是一个普通的场景1是一个模糊的场景

本期分享就到这里!更多精彩+++关注联系我们   
下期见,学习不止,不止学习
公众号地址:https://mp.weixin.qq.com/s/nGnBROt7AFEhVjSwolcKLw
         
微信公众号:Game艺视界
使用道具 <
熾天之翼  发表于 2022-7-5 17:42:29  
2#
回复 收起回复
使用道具
陈三岁  发表于 2022-7-6 16:25:18  
3#
好技巧 学到了
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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