Unity之ShaderGraph如何实现触电电流效果

前言

之前使用ASE做过一个电流效果的shader,今天我们通过ShaderGraph来实现一个电流效果。
效果如下:

关键节点

Simple Noise:根据输入UV生成简单噪声或Value噪声。生成的噪声的大小由输入Scale控制。
Unity之ShaderGraph如何实现触电电流效果_第1张图片
Power:返回输入A的结果的输入B次方。
注意:如果输入A为负,则输出可能不一致或 NaN。
Unity之ShaderGraph如何实现触电电流效果_第2张图片

Remap:根据输入UV生成矩形形状,其大小由输入Width和Height指定。生成的形状可以通过连接平铺和偏移节点来偏移或平铺。请注意,为了保留在 UV 空间内偏移形状的能力,如果平铺,形状将不会自动重复。要实现重复矩形效果,首先通过Fraction Node连接您的输入。
注意:该节点只能在片段 着色器阶段使用。

Unity之ShaderGraph如何实现触电电流效果_第3张图片

Rectangle:根据输入UV生成矩形形状,其大小由输入Width和Height指定。生成的形状可以通过连接平铺和偏移节点来偏移或平铺。请注意,为了保留在 UV 空间内偏移形状的能力,如果平铺,形状将不会自动重复。要实现重复矩形效果,首先通过Fraction Node连接您的输入。
Unity之ShaderGraph如何实现触电电流效果_第4张图片

原理

这个电流效果的shader实现原理就是,先合并两个交互运行的噪波图,然后通过Remap+Rectangle节点从噪波图中提取电流的形状,我们给他乘上一个自由颜色,然后把最终的颜色赋值给Emission即可。

完整节点

Unity之ShaderGraph如何实现触电电流效果_第5张图片

你可能感兴趣的:(unity,shader,ShaderGraph,ASE,电流,闪电,触电)