一、打开Unity,新建ShaderGraph叫做DemoSmooth
设置Swizzie的Mask为x,这样就只输出x的值。Smoothstep的Edge1和Edge2的值设置为0,1。最左侧是0,最右侧是1。中间由黑变为白的过渡就是Smoothstep实现的效果。调整Edge1和Edge2的值为0.5,0.4,再看一下结果。
二、溶解效果
这个是由Blender生成的噪声图像
首先使用Time的Sine Time循环生成-1到1之间的值,然后使用Multiply和Add节点将值,转换为0.5~1之间的值,然后连接两个Subtract节点,具体分解一下。
这里面的核心是埃尔米特插值,该函数曲线如下,该函数返回值在0与1之间,在0和1的附近逐渐变的平缓。
三、Unreal中,新建DemoSmooth的Material,双击打开。
节点基本上与Unity中是一致的,我在Time后面添加了一个Multiply乘以0.05让速度变慢一点。