UE4学习总结(6) 粒子系统

UE4学习总结(6) 粒子系统

    • 粒子系统
    • 粒子系统的逻辑组成
    • 常用的三种赋值方式
    • 基本属性
    • 单一粒子特效的多重堆叠效果
          • Spawn Burst Instanous的应用:烟花喷溅的效果。
          • Spawn Rate的应用:火焰燃烧的效果
    • 事件触发逻辑的应用
          • location event事件
          • Death event事件

三种基础的粒子特效如下。

  1. 烟花

  2. 火焰

  3. 雷电
    UE4学习总结(6) 粒子系统_第1张图片

三种粒子特效的UE4文件和素材我分享到了百度网盘。https://pan.baidu.com/s/1MkjnWhuXcaebnJJSfd7FQg
提取码:7t8b
务必把它们直接存到content根目录下面,如果地址不对,将找不到文件报错。

粒子系统

粒子系统是特效的一个种类。粒子系统本质上就是一种材质。单纯的材质也可以做成动态的效果,只不过粒子系统能够做出更复杂、精细化的特效。粒子系统的配置与材质不同,材质的配置中,除了制作素材图片以外,大部分是用蓝图进行模块化编程设计,而粒子系统是UE4里面已经半成型的一个模型,你只需要手动调参,更改颜色、速度、事件逻辑、物体形态等等即可,而不需要编程。因此做粒子系统更偏向美术一些,有美术功底的人知道调成什么样子好看。
UE4学习总结(6) 粒子系统_第2张图片

粒子系统的逻辑组成

UE4中,一个粒子特效需要由两部分组成,一个是“Niagara System”,即空的粒子系统,一个是“Niagara Emitter”即粒子发生器。
UE4学习总结(6) 粒子系统_第3张图片

一个“Niagara Emitter”可以配置出一个样式的粒子,但是“Niagara Emitter”不能直接拖拽到关卡场景中,必须挂载到“Niagara System”上。“Niagara System”可以拖拽到场景中,但是“Niagara System”自身不能配置粒子,只能添加“Niagara Emitter”获得粒子。在程序执行的角度,“Niagara Emitter”相当于类,“Niagara System”相当于类的实现。
UE4学习总结(6) 粒子系统_第4张图片
一个Niagara System可以添加多个Niagara Emitter,组成更加花样的图形。如图,一个名为“NS_Slash”的Niagara System中挂载了四个Niagara Emitter。所有Niagara Emitter都不能直接拖入场景,但是可以把Niagara System直接拖到场景中。

UE4学习总结(6) 粒子系统_第5张图片
Niagara Emitter修改内部配置,所有挂载了它的Niagara System也会同步修改(如上图雷电光圈的Niagara Emitter颜色变了,那么NS_Slash的光圈也会相应改变)。而如果在Niagara System修改配置,Niagara Emitter不会有丝毫改变,并且Niagara System内部不能删除Niagara Emitter拥有的功能。因此在面向对象的角度,Niagara System和Niagara Emitter是继承关系。通过这个特点,我们可以把多个一模一样的Niagara Emitter挂载在Niagara System里(copy一下就行),再配置不同的参数,使得最终效果依然呈现花样效果(如下图雷电特效就是NE_Blade和NE_tail各复制一次形成的四个Niagara Emitter组成的)
UE4学习总结(6) 粒子系统_第6张图片

常用的三种赋值方式

粒子系统中有size, color, life time等等参数需要配置。所有的参数几乎都可以选择三种常用的取值方式幅值。
第一种是单值,即参数是恒定不变的值。
在这里插入图片描述
第二种是范围随机数,用于多元素粒子发射器,比如可以形成各向不同性的喷溅效果。
在这里插入图片描述
第三种是向量曲线,多用于配置物体颜色随时间变化。
UE4学习总结(6) 粒子系统_第7张图片

基本属性

在initial particle里依次有持续时间、质量、颜色、粒子大小。
UE4学习总结(6) 粒子系统_第8张图片

物理引擎方面,可以设置重力和阻力,使得粒子轨迹更切合实际。

单一粒子特效的多重堆叠效果

同一个粒子特效可以在一个周期里播放多次。引发粒子特效播放的方式有两种,一种是瞬时引发“Spawn Burst Instanous”,一种是比例引发“Spawn Rate”。两者都可以设置粒子在一个周期内的播放次数(比如爆炸效果的爆炸次数)。区别是,前者是在0时刻就全部播放,而后者是把几次事件平铺在整个周期,一个事件没有结束另一个事件再重叠上来,看起来更加丝滑(适合火焰熊熊燃烧的效果)。

Spawn Burst Instanous的应用:烟花喷溅的效果。

用一个简单的Simple Sprite Burst作为基础,在Spawn Burst Instanous里面设置Spawn Count为10,于是由原本只有一个粒子的运动变成了10个粒子同时四散飞出(系统自动设置随机方向)。
UE4学习总结(6) 粒子系统_第9张图片

Spawn Rate的应用:火焰燃烧的效果

在Spawn Rate里设置count为4。如图,可以看到火焰燃烧在一个周期里发生了四次(重点看烧起的那一刻),下一次开始时,上一次还没结束,效果重叠,因此有一种火焰滚滚燃烧的立体感。由于设置了方向随机,所以每次燃烧方向不一样,更自然一些。

事件触发逻辑的应用

类比蓝图中的事件触发,粒子系统中也有类似的事件触发逻辑。在一个Niagara System里,只有前一个粒子特效进行到某个阶段,后一个粒子特效才开始播放。粒子系统中,事件触发逻辑有两种,一是location event,二是death event。

location event事件

粒子特效在播放过程中,每经过单位时间,就触发一次。
应用:制作烟花的拖尾效果。设NE_Spark是四散喷溅的粒子特效,NE_Tail是普通的Simple Sprite Burst,NE_Spark的每一次location event都触发一次NE_Tail的播放。仔细观察可以发现,整个拖尾线实际上是由一个个分立的小球组合起来的,这些球实际上是NE_Spark的location event触发出来的。之所以颜色、大小不同,是因为我设置了颜色随时间改变的时间轴,NE_Spark经过轨迹上每一点的时间不同,因此这些NE_Tail播放起始时间不同。

Death event事件

粒子特效播放结束(即到达lifetime)时触发。
应用:制作多重溅射效果。同样是NE_Spark,设置death event事件触发,使得一个NE_Spark结束以后再触发一个NE_Spark,效果是几个地方都发出多个白球,然后所有白球最终爆炸。

UE4学习总结(6) 粒子系统_第10张图片

你可能感兴趣的:(UE4学习总结,游戏引擎,前端,3d渲染,3d引擎,unreal)