在接下来的内容中,我们将深入探讨UE的粒子系统、材质编辑器和动画工具,以及如何利用它们来创造独特且生动的燃烧效果。本指南适合各级别的UE用户,无论你是刚开始接触这个强大平台的新手,还是希望提升技能的经验丰富的开发者。
ue制作燃烧动画方法步骤
首先先上卖家秀
燃烧动画是通过贴图的uv偏移来产生的,在uv的偏移上再加一个noise扰动就可以模拟燃烧的效果。
1、uv动画
首先做第一层燃烧效果,让noise(designer里面拉一个)动起来去采样一张normal贴图
单独预览效果如图
我们再给前面半秒加一个动画,和前半部分进行融合,让动画连贯起来。
还是用原来的noise贴图,但是把时间错开0.5秒
预览效果和之前差不多
2、blend mask
Mask也给一个动态的,直接用原来frac后的时间,这个时间范围是在[0,1],我们用把兰伯特思想把范围映射到[-1,1],再取绝对值,就可以得到一段全黑的mask,用这段mask去blend上面的两个uv动画
混合出来效果大致如下,暴露multiply的值,还可以控制混合的效果。最后的结果输入到opacity mask可以让物体燃烧没掉。
3、BaseColor
我们在最后的混合结果上做一些限制,增加对比度等来增加白色的区域,然后给一个颜色作为底色物体的颜色。
4、Emissive Color
同样调整混合效果,作为边缘燃烧的颜色mask
5、控制燃烧范围
目前的效果是整个物件都会燃烧没掉,所以我们只做一个mask来控制这个燃烧范围
首先做一个平面的mask,用sphere做出的mask减去之前的混合mask
效果如下
但是由于我们材质给到场景中以后,是三维的,所以需要使用Absolute world position,不然就会是下面的效果。
注意,sphere的A输入float3以后,B也要输入一个flaot3
为了看到效果,此时的position最好给到物体本身的坐标值
改一下emissive color
6、增加蓝图控制燃烧范围
由于燃烧的范围是可以根据position和radius来控制的,所以我们可以将position和radius直接在蓝图里面控制或者做成一个全局的mpc来用蓝图控制范围
这是一个简单的蓝图
然后在MPC里面控制mask的半径就可以燃烧起来(买家秀)
后期加个粒子,应该问题不大。