跳到主要内容

粒子系统

概述

粒子系统在游戏影视行业有广泛的应用,主要被用来制作各种常见的特效。例如:雨,雪,火,爆炸,水花,落叶等等都可以使用粒子系统很快的实现。

Docusaurus Plushie

这一小节我们重点了解ParticleCPUParticle

  • Particle是基于GPU的3D粒子发射器,用于创建各种粒子系统和效果的3D粒子节点。Particles具有发射器,该发射器以给定的速率生成一定数量的粒子。
tip
Particles仅在使用GLES3渲染器(效果优先)时有效。如果使用GLES2渲染器(性能优先),请改用CPUParticles。    
  • CPUParticle基于CPU的3D粒子节点用于创建各种粒子系统和效果。

    CPUParticle提供了与硬件加速相同的功能,但可能无法在较旧的设备上运行。但是如果需要在html5模型下运行,就只能使用此粒子。

基础用法

粒子系统的创建主要有两种方式:

快捷创建

点击窗口左上角的快捷创建按钮会弹出菜单列表,在里面选择粒子就会出现CPU粒子粒子供我们选择创建:

Docusaurus Plushie

这种方式粒子(GPU粒子)和CPU粒子两种粒子都可以创建,如下图左侧是GPU粒子右侧是CPU粒子

Docusaurus Plushie

使用粒子库

点击窗口左下角的资源,再点击里面的粒子库这里面有很多炫酷的粒子可供我们选择创建

Docusaurus Plushie

粒子库里的粒子一般是由多个粒子节点组合而成,这样可以获得更好的渲染效果

Docusaurus Plushie

粒子系统

GPU粒子

通过使用GPU粒子可以生成很多有趣的特效,下面我们将详细介绍GPU粒子的属性

基础属性

GPU粒子有以下基础属性是我们必须要掌握的

粒子

Docusaurus Plushie

发射

参数默认是勾选的,用于控制粒子是否启用,如果取消就会停止发射粒子。

Docusaurus Plushie

数量

用于设置发射粒子的数量,如下图左侧粒子数量小明显烟雾效果就弱

Docusaurus Plushie

时间

Docusaurus Plushie

  • 生命周期 每个粒子存活的时间(以秒为单位),生命周期结束时, 会创建一个新粒子来替换它。

下图左侧的烟雾粒子生命周期比较短,粒子存活的时间短很难持续到一定的高度

Docusaurus Plushie

  • 执行一次启用后节点将一次性发出所有粒子, 然后再也不发射。

  • 速度比速度比例具有默认值 1 , 用于调整粒子系统的速度. 降低值会使粒子变慢, 而增加值会使粒子更快.

下图左侧粒子的速度是0看上去像是静止的,中间的粒子有速度但是速度比较低

Docusaurus Plushie

  • 随机性参数可以改变粒子发射的随机程度

绘制

  • 可视包围盒控制粒子在屏幕上的可见性,如果此可视包围盒位于视区之外, 则引擎将不会在屏幕上渲染粒子。 包围盒的 W 和 H 选项分别控制其宽度和高度. X 和 Y 选项控制矩形左上角相对于粒子发射器的位置.
tip
CPUParticle与Particle不同,可见包围盒是即时生成的,不需要用户另外配置。
  • 局部坐标 默认情况下, 此选项处于启用状态, 这意味着粒子发射的空间是相对于节点来算的。如果移动节点, 则所有粒子会随之移动:

    Docusaurus Plushie

    如果不勾选, 粒子将发射到全局空间, 这意味着如果移动节点, 则已发射的粒子不会受到影响,可以用于模拟汽车尾气等轨迹效果

    Docusaurus Plushie

绘制材质

从快速创建中添加的粒子已经带有默认材质,

Docusaurus Plushie

我们可以通过修改颜色、设置序列帧贴图、增加自发光属性等操作来获得更加有趣的粒子效果。

Docusaurus Plushie

  • 设置序列帧图片

新导入的序列帧行帧数列帧数需要重新设置,并且设置参数数量和纹理中显示的要一致。

Docusaurus Plushie

发射参数(处理材质)

发射参数有如下一些参数选项:

Docusaurus Plushie

  • 时间

    • 生命周期: 每个粒子存在的时间(以秒为单位)。
    • 执行一次: 启用之后,该粒子只会发射一次,生命周期结束之后自动结束发射。
    • 速度比: 控制粒子整体发射速率的值,值为0时可以用于暂停粒子运动。
    • 随机性: 让粒子发射的结果更加的随机。
  • 朝向

    • 朝向: 粒子运动的方向。
    • 扩散度: 粒子向着朝向方向运动时的扩散程度。
    • 平整度: 控制粒子发射的平整程度,当值为1时,粒子会沿着直线移动。
  • 重力

    • 重力: 相当于给每个粒子加了一个有方向的重力。
  • 初始速度

    • 速度: 该速度值为粒子刚开始发射时的速度。
    • 速度随机率: 用来控制每个粒子初始速度的随机性。
  • 线性加速度

    • 加速度: 该值为粒子线性方向加速度值。
    • 加速度随机比: 用来控制每个粒子线性方向加速度的随机性。
    • 加速度曲线: 用来一条曲线来控制粒子线性方向的加速度。
  • 缩放

    • 缩放: 该值为控制粒子大小的缩放值。
    • 缩放随机率: 用来控制每个粒子缩放大小的随机性。
    • 缩放曲线: 用来一条曲线来控制粒子在生命周期内的缩放。
  • 颜色

    • 颜色: 该值为每个粒子的颜色值。
    • 颜色渐变: 可以用一张渐变贴图来让粒子在生命周期内根据贴图来变化颜色。
  • 动画

    • 速度: 该值控制粒子序列帧播放的速度。
    • 速度随机率: 给粒子粒子序列帧播放速度一个随机值。
    • 速度曲线: 通过一条曲线来控制粒子序列帧播放速度。
    • 偏移: 给粒子序列帧动画一个偏移值。
    • 偏移随机率: 给粒子序列帧动画一个随机的偏移值
    • 偏移曲线: 可以用一根曲线来控制粒子在生命周期内的动画偏移值。

CPU粒子

通过使用CPU粒子可以生成很多有趣的特效,下面我们将详细介绍CPU粒子的属性

基础属性

Docusaurus Plushie

  • 发射参数默认是勾选的,如果取消就会停止发射粒子

Docusaurus Plushie

  • 数量参数用于设置发射粒子的数量,如下图左侧粒子数量小明显烟雾效果就弱

Docusaurus Plushie

时间

Docusaurus Plushie

  • 生命周期 每个粒子存活的时间(以秒为单位),生命周期结束时, 会创建一个新粒子来替换它。

下图左侧的烟雾粒子生命周期比较短,粒子存活的时间短很难持续到一定的高度

Docusaurus Plushie

  • 速度比速度比例具有默认值 1 , 用于调整粒子系统的速度. 降低值会使粒子变慢, 而增加值会使粒子更快.

下图左侧粒子的速度是0看上去像是静止的,中间的粒子有速度但是速度比较低

Docusaurus Plushie

绘制材质

CPU粒子的材质绘制和GPU类似可以参考上面GPU的对应章节。

发射参数

  • 时间

    • 生命周期: 每个粒子存在的时间(以秒为单位)。
    • 执行一次: 启用之后,该粒子只会发射一次,生命周期结束之后自动结束发射。
    • 速度比: 控制粒子整体发射速率的值,值为0时可以用于暂停粒子运动。
    • 随机性: 让粒子发射的结果更加的随机。
  • 朝向

    • 朝向: 粒子运动的方向。
    • 扩散度: 粒子向着朝向方向运动时的扩散程度。
    • 平整度: 控制粒子发射的平整程度,当值为1时,粒子会沿着直线移动。
  • 重力

    • 重力: 相当于给每个粒子加了一个有方向的重力。
  • 初始速度

    • 速度: 该速度值为粒子刚开始发射时的速度。
    • 速度随机率: 用来控制每个粒子初始速度的随机性。
  • 线性加速度

    • 加速度: 该值为粒子线性方向加速度值。
    • 加速度随机比: 用来控制每个粒子线性方向加速度的随机性。
    • 加速度曲线: 用来一条曲线来控制粒子线性方向的加速度。
  • 阻尼

    • 阻尼选项会对颗粒施加摩擦力, 迫使它们停止. 它特别适用于火花或爆炸, 火花或爆炸通常以高线速度开始, 然后在他们隐去时停下来。
  • 角速度

    • 角速度是应用于粒子的初始角速度。