Unity 之ASE实现触电,电流,电脉冲效果

Posted PassionY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 之ASE实现触电,电流,电脉冲效果相关的知识,希望对你有一定的参考价值。

前言

最近在做一个电力的项目,里面需要用到一个身体触电的特效,网上找了一圈都没有合适的,最后干脆自己写一个,参考了一个ShaderGraph的效果,原理都一样。

原理

首先是简单分析下电脉冲的原理,电脉冲的效果一般是一个电流圈,然后电流全根据UV的流动在物体表面来回流动。这个电流圈的流动,我参考了这篇文章:https://zhuanlan.zhihu.com/p/434845765
只需要两张扰动图,以一个固定速度交错流动,然后叠加到一起,这样我门就得到了一个不断变化的新的扰动图,然后我们使用Remap节点把他的颜色数值从[0,1]映射到[-10,10],然后再通过节点Rectangle来输出我们要的电流圈。
Remap:将原图进行了重映射,将一个A范围重映射到另一个范围,用来控制减弱or加强图像的输出范围
Rectangle:函数:根据输入的UV生成一个指定大小/宽度的矩形,感觉原理上有点类似于截止滤波?

补充
这里有两个NoiseTex节点,使用的是同一张贴图,所以,我使用了一个TextureObject节点,作为贴图输入节点,然后把Tex赋值给这两个NoiseTex,可以

以上是关于Unity 之ASE实现触电,电流,电脉冲效果的主要内容,如果未能解决你的问题,请参考以下文章

Unity之ASE 编辑器详解

Unity之ASE 简介

怎样解决继电器触电时抖动

Unity插件ASE的之Template

Unity插件ASE的之Template

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