Amplify shader editor_案例分析2_Animated Fire

如何做一个Animated Fire?

第一个是让火焰图移动起来,这个我们只需要做UV的移动就可以。第二个是强度渐变,有一个类似正弦的曲线强度变化。

主要是让UV坐标移动按我们给定的速度和时间移动起来。如果要做丰富一点的变化,还可以加入强度,让强度滑块在时间内做正弦变化。

需要使用到的节点是Panner。
在这里插入图片描述

Panner节点根据时间值UV坐标或其他Vector 2位置移动指定的Speed。如果在“ 时间”输入端口上未设置任何输入,则使用Unity计时器提供连续的平移动画。在这种情况下,“时间”属性充当Unity计时器值的乘数。 另一方面,如果在“时间”输入端口上建立了连接,则它将假定该值为最终值,并且在内部不使用任何类型的计时器。

必须将所需要移动的纹理的wrap mode 设置为repeat。Panner所需要三个Input,一个是UV,一个是Vector2作为Tilespeed,一个Time(可以选择缩放时间,慢几倍,快几倍)

这样TileableFire就做好了。将这张纹理与Mask 相乘得到的图,我们可以用一个Intensity作为滑块来控制,让该火焰的强度做正弦时间的变化,丰富一下效果。

我们为了让火焰的变化保持持续,而不是从显示到消失,我们可以将Sin时间加上一定的数值,
在这里插入图片描述
然后乘以强度,这样整个正弦的值都会大于0,并且强度变化会比较明显。最后再放到Emission中输出出去。

通过这个案例还知道了在ASE中可以将Emission写成一个Function,最后在shader中以Function的形式拿出来用,只需要将我们需要改变的几个参数用FuntionInput代替即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值