Unity之ShaderGraph如何模拟水波实现顶点波动

前言

今天我们实现类似水波纹的顶点波动效果
如下所示:

主要节点

Tilling And Offset:分别通过输入Tiling和Offset平铺和偏移输入UV的值。这通常用于细节贴图和随时间滚动的纹理。
Unity之ShaderGraph如何模拟水波实现顶点波动_第1张图片
Gradient Noise:根据输入UV生成梯度或Perlin噪声。生成的噪声的大小由输入Scale控制。就性能成本而言,梯度噪声节点的计算强度可能比采样纹理贴图稍高。由于UV值用作噪声生成的种子,因此您可以偏移、缩放或扭曲UV值以生成不同的噪声模式。
Unity之ShaderGraph如何模拟水波实现顶点波动_第2张图片
Position:提供对网格顶点或片段的Position 的访问,具体取决于节点所属图形部分的有效着色器阶段。使用Space下拉参数选择输出值的坐标空间。
Unity之ShaderGraph如何模拟水波实现顶点波动_第3张图片

原理

原理就是通过时间节点让让GradientNoise的UV进行流动,让Noise产生波动,把波动的值加到顶点法线方向上,然后赋值给顶点,即可使顶点发生偏移。

完整节点

Unity之ShaderGraph如何模拟水波实现顶点波动_第4张图片

你可能感兴趣的:(unity,shader,ShaderGraph,ASE,顶点波动,着色器,水波)