Particle System Overview

粒子系统是游戏引擎特效表现的基础,它可以用于模拟的火、烟、水、云、雪、落叶等自然现象,也可用于模拟发光轨迹、速度线等抽象视觉效果。

基本结构

粒子系统的基本单元是粒子,一个粒子一般具有位置、大小、颜色、速度、加速度、生命周期等属性。在每一帧中,粒子系统一般会执行如下步骤:

  1. 产生新的粒子,并初始化
  2. 删除超过生命周期的粒子
  3. 更新粒子的动态属性
  4. 渲染所有有效的粒子

一般粒子系统会有如下几个部分组成:

  1. 发射器,用于创建粒子,并初始化粒子的属性
  2. 影响器,用于更新粒子的属性
  3. 渲染器,渲染粒子
  4. 粒子类,存储粒子的属性
  5. 粒子系统类,管理上面的模块

Cocos Creator 3D粒子系统以模块来组织功能,包含了以下模块:

模块描述
ParticleSystemComponent用于存储在Inspector中显示的所有数据,管理粒子生成、更新、销毁相关模块,控制粒子播放
ShapeModule用于控制粒子发射,包括发射方向与速度,支持预定义的发射方向包括方块、圆、锥体、球、半球
AnimatorModule用于控制粒子发射后状态更新。已支持的功能有:大小、颜色、旋转、速度、加速度、限速、贴图动画
ParticleSystemRenderer用于生成粒子渲染所需要的数据。包括vb、ib、渲染状态相关的控制

添加一个粒子系统模块有两种方式:

  1. 像其他组件一样为节点添加粒子系统组件(不推荐)
  2. 使用编辑器添加粒子系统组件(推荐)
    • 开发者可以通过右侧 Inspector 面板上点击“添加组件”添加粒子,如下图: 粒子 - 图1
    • 也可以通过左侧的层级管理器“右键->创建->特效->粒子系统”来添加一个粒子系统组件,如下图: 粒子 - 图2

前往 粒子系统模块 说明文档。