您需要 登录 才可以下载或查看,没有账号?注册
x
本期内容: 在这里我们在虚幻中,我们将看看如何在这里创建雨滴效果
首先在我们的场景中全局后期处理量,您可以看到在渲染功能后期处理材料下有一组材料,在这里我已经向该数组添加了一个元素,我已将镜头材质上的这个测试后处理雨添加到我的全局后处理材质中,这就是在这里产生效果的原因,
所以让我们继续看看我创建的着色器,以便我们了解它是如何工作的,这与我们在unity中设置事物的方式非常相似,
01-我创建了2个材质函数(01、02)对于天气屏幕屏幕下降,我们将得出的数据乘以0.03 只是为了降低它的色调,
03-然后我们将其添加到我们的纹理坐标中,在这种情况下是屏幕上的坐标
04-然后我们使用这些坐标查找我们的场景纹理后期处理输入0值这是来自我们屏幕的数据,我们将其传入以获得最终结果
我们正在对相同的水滴纹理进行采样,因此我们采用屏幕分辨率
01-这是我们的可见分辨率我们的宽度和我们的数据高度,所以这是我们的宽度数据和我们的高度
02-我们将宽度除以高度,得到我们的纵横比,
03-然后我们附加一个
04-然后将它乘以我们的纹理坐标,我们正在做的只是创建方形纹理坐标,这样我们就可以按照我们想要的方式对我们的水滴纹理进行采样
05-然后我们将我们的纹理坐标乘以2只是为了让我们的水滴成为我们喜欢的大小
01-我们对我们的纹理进行采样,我们采用红绿和 alpha通道和将它们组合在一起,
02-然后我们乘以 2 并减去1。这再次将数据的范围从 0 到 1 范围扩大,因为它存储在纹理中,我们需要在着色器中用于法线的负1到1范围
03-然后我们获取红色和绿色通道中的正常数据,然后将其传递出去
让我们回顾一下如何创建蒙版,
01-首先为了动画我们使用时间的水滴,我们在这里将时间乘以 1.5 只是为了稍微提高一点速度。
02-然后我们采用存储在蓝色通道中的偏移蒙版,因此每一滴都有自己的灰色阴影这会抵消每一滴所以它们不是动画,嗯,所有的一致它们的动画都相互抵消,因为我们让每一滴都有自己独特的灰色阴影
03-所以我们取那个值并从中减去时间来得到动画的东西,然后我们取小数部分我们可以看到水滴动画(红框)
然后我们还需要我们的水滴蒙版,我们的水滴蒙版来自 Alpha 通道,我们通过乘以2 并减去 1 来扩展它,原因是我们这样做是因为我们的水滴蒙版将动画水滴存储为白色,而静态水滴为黑色,所以我们要做的是乘以 2 并减去 1,现在我们的动画水滴的值为 1,我们的静态水滴是一个负值,所以我们在这里取蓝色通道,我们已经通过了我们的 alpha 通道,
通过饱和它,我们已经摆脱了静态水滴,
然后这是我们的动画水滴蒙版,我们可以增加我们的我们在这里的时间偏移和我们在这里得到的是我们的动画水滴蒙版
现在我们需要将它与我们的静态水滴蒙版结合起来,所以我们这里的静态水滴是一个负值,所以如果我们将它乘以负值,我们得到一个值一个,所以我们翻转了我们的蒙版,现在我们的静态水滴是白色的
它们在上面现在我们需要在这里添加一点调整并使其饱和,这样我们剩下的是我们的静态水滴值这就是你可以在这里看到的,我们的小红点
好的,然后我们将动画水滴和静态水滴加在一起,得到最终的蒙版
然后我们乘以这个是下雨的值,这是可选的,嗯,这是只是你可以用来打开和关闭雨的东西,如果你愿意,这给了我们一个蒙版,我们有静态水滴动画水滴,然后我们可以将此输入值设置为零或一来打开和关闭水滴,乘以我们的 掩码值来获得我们的drop的最终输出,我们将它作为我们的法线输出我们也有一个输出作为掩码,这个掩码是我们的静态和动画滴
完整函数节点
01-对我们的纹理坐标进行归一化,嗯,这样它们就很好了,而且是方形的,而不是拉伸的
02-然后我们乘以 2 只是为了让水滴更大一点
03-然后我们使用它 对我们的水滴数据进行采样
04-,然后我们扩展我们的水滴数据,我们得到最终的法线,并将其乘以我们为静态和动态水滴创建的蒙版,然后我们将其传递出去
我们可以在这里使用该数据与我们的纹理坐标相加,然后对我们的最终后处理输入 0 或我们的场景颜色数据进行采样
‍
下期见,学习不止,不止学习
|