[特效] Unreal|玩个火

查看:15676 |回复:1 | 2022-5-9 21:39:37

您需要 登录 才可以下载或查看,没有账号?注册

x
         
81206981b603f57a91c07389ac43df78.jpg



Hello . 大家好
今天亲手给大家玩个火
我是木偶心没

a8e7f8990925571c6f19c9a600dbce26.png





首先先上卖家秀






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


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






单独预览效果如图

我们再给前面半秒加一个动画,和前半部分进行融合,让动画连贯起来。
还是用原来的noise贴图,但是把时间错开0.5秒





预览效果和之前差不多







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


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




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



4Emissive 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的半径就可以燃烧起来(买家秀)





后期加个粒子,应该问题不大(不会粒子的乱说)- _ -

- End -

喜欢Thepoly的可以通过三种方式与我们建立联系。分别是公众号、微信群以及QQ群。公众号是我们最为官方的窗口,更多内容都必须关注公众号后才能获取。另外现已开通网站:www.thepoly.cn更多精彩请关注我们。

         
2022-5-9 21:39:37  
 赞 赞 0

使用道具 登录

1个回答,把该问题分享到群,邀请大神一起回答。
2#
66666666666666
回复 收起回复
2022-5-11 11:05:28   回复
 赞 赞 0

使用道具 登录

CG 游戏行业专业问题

Thepoly
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表