Unity之ShaderGraph如何实现旋涡效果

前言

今天我们来通过ShaderGraph来实现一个旋涡的效果
如下图所示:

主要节点

Distance:返回输入 A 和输入 B 的值之间的欧几里德距离。除了其他方面的用途,这对于计算空间中两点之间的距离很有用,通常用于计算有符号距离函数 (Signed Distance Function)。
Unity之ShaderGraph如何实现旋涡效果_第1张图片

Twirl:将类似于黑洞的旋转变形效果应用于输入 UV 的值。变形效果的中心参考点由输入 Center 定义,而效果的整体强度由输入 Strength 的值定义。输入 Offset 可用于偏移结果的各个通道。
Unity之ShaderGraph如何实现旋涡效果_第2张图片

Voronoi:根据输入 UV 生成 Voronoi 或 Worley 噪声。Voronoi 噪声是通过计算像素和点阵之间的距离生成的。通过使这些点偏移由输入 Angle Offset 控制的伪随机数,可以生成一组单元。这些单元的规模以及产生的噪声由输入 Cell Density 控制。输出 Cells 包含原始单元数据。
Unity之ShaderGraph如何实现旋涡效果_第3张图片

原理

首先通过Twirl+Voronoi得到一个旋涡状的动态图,再通过UV和Vector2(0.5,0.5) 得到一个中间亮,边缘透明的遮罩图,然后两者相乘叠加,就得到了我们想要的效果。

完整节点

Unity之ShaderGraph如何实现旋涡效果_第4张图片

你可能感兴趣的:(1024程序员节,unity,shader,ShaderGraph,URP,着色器,旋涡)