当前位置:首页 >教程首页 > Unreal Engine >如何在Unreal里制作燃烧动画?

如何在Unreal里制作燃烧动画?

发布时间:2022-05-10 09:24:55

Hello,大家好,今天给大家分享如何在Unreal里制作燃烧动画?我是木偶心没。首先先上卖家秀

0.gif

燃烧动画是通过贴图的uv偏移来产生的,在uv的偏移上再加一个noise扰动就可以模拟燃烧的效果。

1、uv动画

首先做第一层燃烧效果,让noise(designer里面拉一个)动起来去采样一张normal贴图

1.png

单独预览效果如图

2.gif

我们再给前面半秒加一个动画,和前半部分进行融合,让动画连贯起来。

还是用原来的noise贴图,但是把时间错开0.5秒

3.png

预览效果和之前差不多

4.gif

2、blend mask

Mask也给一个动态的,直接用原来frac后的时间,这个时间范围是在[0,1],我们用把兰伯特思想把范围映射到[-1,1],再取绝对值,就可以得到一段全黑的mask,用这段mask去blend上面的两个uv动画

5.png

混合出来效果大致如下,暴露multiply的值,还可以控制混合的效果。最后的结果输入到opacity mask可以让物体燃烧没掉。

6.gif

3、BaseColor

我们在最后的混合结果上做一些限制,增加对比度等来增加白色的区域,然后给一个颜色作为底色物体的颜色。

7.png

4、Emissive Color

同样调整混合效果,作为边缘燃烧的颜色mask

8.png

5、控制燃烧范围

目前的效果是整个物件都会燃烧没掉,所以我们只做一个mask来控制这个燃烧范围

首先做一个平面的mask,用sphere做出的mask减去之前的混合mask

9.png

效果如下

10.png

但是由于我们材质给到场景中以后,是三维的,所以需要使用Absolute world position,不然就会是下面的效果。

11.png

注意,sphere的A输入float3以后,B也要输入一个flaot3

12.png

为了看到效果,此时的position最好给到物体本身的坐标值

13.png

改一下emissive color

14.png

6、增加蓝图控制燃烧范围

由于燃烧的范围是可以根据position和radius来控制的,所以我们可以将position和radius直接在蓝图里面控制或者做成一个全局的mpc来用蓝图控制范围

这是一个简单的蓝图

15.png

然后在MPC里面控制mask的半径就可以燃烧起来(买家秀)

16.gif

后期加个粒子,应该问题不大。

- End -

来源:Thepoly公众号

学员作品赏析
  • 2101期学员李思庭作品

    2101期学员李思庭作品

  • 2104期学员林雪茹作品

    2104期学员林雪茹作品

  • 2107期学员赵凌作品

    2107期学员赵凌作品

  • 2107期学员赵燃作品

    2107期学员赵燃作品

  • 2106期学员徐正浩作品

    2106期学员徐正浩作品

  • 2106期学员弓莉作品

    2106期学员弓莉作品

  • 2105期学员白羽新作品

    2105期学员白羽新作品

  • 2107期学员王佳蕊作品

    2107期学员王佳蕊作品

专业问题咨询

你担心的问题,火星帮你解答
×

确定