unity urp 实现雨水在物体上流动的效果

在这里插入图片描述
如何实现原理还是很简单的,还是使用简单的uv偏移实现即可。
首先,我们需要一张雨滴流向的贴图,和法向贴图。
在这里插入图片描述
配套的法向贴图,让雨水的效果更加明显
在这里插入图片描述
在这里,我还加上了对贴图的旋转,ase里面节点叫rotator,直接把节点的代码拷贝出来的。然后为了保证密度,还加上的tillingoffset

float cos23 = cos(_RainRotate * PI);
float sin23 = sin(_RainRotate * PI);
float2 rotator = mul(UV - _RainAnchor, float2x2(cos23, -sin23, sin23, cos23)) + _RainAnchor;
rotator = rotator * _RainMask_ST.xy + _RainMask_ST.zw;
half rain = SAMPLE_TEXTURE2D(_RainMask, sampler_RainMask, rotator).r;

获取雨的代码就是这样的。
得出来的结果就是:
在这里插入图片描述
然后我们可以把法线加上,增加渐变过渡,这个我在这里就不加了。

它的路线有了,那么我们怎么让雨水流动起来呢。
在这里插入图片描述
这是一张渐变图。我使用time让其偏移起来

half2 rainMaskUV = rotator + _TimeParameters.x * _RainDir * _RainSpeed * 0.1;
half rainMask = SAMPLE_TEXTURE2D(_RainMask, sampler_RainMask, rainMaskUV).g;
rainMask = saturate(pow(rainMask, 8));

然后增强一下对比度,效果是这样的
在这里插入图片描述
它们就动了起来,然后我们把它们一合并,这就完成了,动起来了。

rainMask = saturate(rain - rainMask);

在这里插入图片描述

Unity URP(Universal Render Pipeline)是Unity中的一种轻量级渲染管线,它提供了更高的性能和更好的图形品质。在URP中,可以通过Shader Graph实现贴花(Decals)功能。具体实现步骤如下: 1. 创建一个贴花材质 在Unity中创建一个新材质,并将其Shader设置为URP/Lit,然后在Inspector面板中勾选Enable Instancing和Double Sided属性。这样就创建了一个基本的贴花材质。 2. 创建一个Shader Graph 在Unity中创建一个新的Shader Graph,然后将它的Shader输出设置为URP/Lit。在Shader Graph中添加一个Texture 2D节点,并将其连接到Base Color输入。这个节点将作为我们的贴花贴图。然后添加一个Sample Texture 2D节点,并将其连接到贴花贴图节点。接着添加一个Vertex Color节点,并将其连接到Opacity输入,这样我们就可以使用顶点颜色来控制贴花的透明度。最后将所有节点连接起来,并将Shader Graph保存。 3. 创建一个贴花预制件 在Unity中创建一个新的空物体,然后添加一个Mesh Renderer组件和我们之前创建的贴花材质。接着在这个物体上添加一个Mesh Filter组件,并设置它的Mesh为一个面片(Quad)。最后将这个物体保存为一个预制件。 4. 在需要贴花的物体上添加Mesh Renderer组件 在需要添加贴花的物体上添加一个Mesh Renderer组件,并将它的Mesh设置为一个具有UV坐标的网格。然后在该物体上添加一个Decal Projector组件,并将其Material设置为我们之前创建的贴花材质。接着将Decal Projector的贴花预制件设置为我们之前创建的预制件,然后调整其大小和旋转,使其覆盖到需要贴花的物体上。 5. 调整顶点颜色 在需要贴花的物体上选择一个顶点,然后在Scene视图中选择Vertex Color工具,并将其颜色设置为白色。这样我们就可以在需要贴花的物体上绘制顶点颜色,控制贴花的透明度。 这样,我们就可以在Unity URP实现贴花功能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值