【转载】Niagara 实现 "Poof" 效果

329 阅读2分钟

原文链接:Poof 效果 Niagara 实现

效果展示

教程:Niagara: How to create a stylized "POOF" effect - UE4 tutorials [ Explosion - Location Event ]

这位老哥的 Niagara 教程非常的棒,思路很清晰。

Poof效果

分析实现点

  1. 底层的烟雾效果
  2. 四处飞散的烟雾效果
  3. 爆炸火花和漂浮火花效果

底层的烟雾效果

主要思路:利用 Cylinder Location 生成沿圆柱体表面的粒子,再 Add Velocity 达到外扩效果,最后 Scale Sprite Size 调整大小。

image-20201031154142500

Cylinder Location

image-20201031154347484

image-20201030170321744

可以通过勾选 Surface Only Band Thickness,让点只生成在圆柱的表面

image-20201030170359427

image-20201030170405653

也可以选择 是否封盖模式(Use Endcaps In Surface Only Mode),可以看到这样点就不会生成在圆柱的上下表面

image-20201030170548167

image-20201030170552930

Drag

image-20201031154558620

其实在我看来就是摩擦力,能达到一个非常好的物理模拟效果。

为烟雾添加 Light 效果

image-20201031154937201

四处飞散的烟雾效果

思路:首先用一个 Emitter 发射出 5 个点来模拟烟雾的轨迹,Generate Location Event 发出 Event,然后另一个 Emitter 接受 Event,完成了粒子之间的属性传递。

发出Event的Emitter

接收Event的Emitter

Add Velocity from point

这个也是用于添加 Velocity,大概意思是根据 Velocity Origin 来计算粒子点的速度,Simulation PositionNiagara System 中在场景中的位置

image-20201031155754305

Generate Location Event

这个需要在发射器属性中勾选 需要持久 IDEvent 主要实现的是 Emitter 之间的信息传递,一个 Emitter 发出 Event,另一个 Emitter 进行监听

image-20201031160049739

Event Send RateEvent 发射的速率多少,会影响接收方 Emitter 生成粒子的数量

image-20201031155942917

Receive Location Event

顾名思义是接受 Event

image-20201031160428716

爆炸火花和漂浮火花效果

这个比较简单,都是利用 Add Velocity from Point 添加了速度,让粒子往外扩,添加 Curl Noise Force 让粒子更飘动更随机一点,其中 Hit Emittersize 是经过拉伸的,这样才能形成长方形效果,最后都是调整 Size 曲线

image-20201031160730199

特别注意

如果在材质中开启 默认光照,特别注意光照对粒子的效果,可能会照成粒子变黑

材质

朴实无华

image-20201031161649592