完成后的效果:
FireManEffect
以下是在UE4.27中的实现过程:
1.借用第三人称的人物模型
拷贝的SK_Mannequin,用TEST做了区分,然后创建并指定物理资产,同样用TEST做了区分。在SK_TEST_Mannequin中,两个材质都是后面制作的M_FireMan。
2.借用ThirdPersonCharacter蓝图
首先在组件那里添加NS,这里取名是NS_FireMan,然后写一点蓝图。
上面的骨骼网格体为SK_TEST_Mannequin,下面的是SK_Mannequin。如果两个都设置为SK_Mannequin,那么最后的效果就是表面着火,不是整个小白人着火。 而这样的结果是按下1键,小白人燃烧,再按下1键,小白人停止燃烧。加入延迟是禁止连续按下按键时,反复且快速地开始/停止效果,同时也可以加入“CanSetOnFire”这样的bool参数来进一步控制切换。
3.着火燃烧的材质
这由两部分组成,自发光颜色和世界场景位置偏移。
3.1对于自发光颜色
这里借用了T_Fire_Tiled_D,上面的Panner速度Y为-1,在和noise进行Add之前,效果是一道道横条向上移动。下面的Panner速度Y为0.1,在Add之后,附上一层缓慢向上移动的noise。Fresnel是加入反射效果。HueShift可以通过调整HueShiftPercent的大小来改变色调。
3.2对于世界场景位置偏移
这里借用了T_Noise01,Panner的速度Y为0.1,使移动的速度比较缓慢。效果是火焰上下飘动。
3.3各自的效果
这是只连接世界场景位置偏移
加上自发光颜色后
4.NS
对于Fire,这里主要使用了Initialize Mesh Reproduction Sprite,设置为SK_Mannequin。在AddVelocity设置一点点Z轴正向的速度,加入CurlNoise和Point Attraction Force。
对于Spark,和Fire基本上完全一样,只将Sprite渲染的M_FireMan改成了M_Radial_Gradient,并且加入了颜色。
后续补充:
1.火焰效果不明显可以多加一个发射器。
2.可以制作火焰喷射器命中人物后,人物着火的效果。