粒子系统
概述
粒子系统在游戏影视行业有广泛的应用,主要被用来制作各种常见的特效。例如:雨,雪,火,爆炸,水花,落叶等等都可以使用粒子系统很快的实现。
这一小节我们重点了解Particle和CPUParticle
- Particle是基于GPU的3D粒子发射器,用于创建各种粒子系统和效果的3D粒子节点。Particles具有发射器,该发射器以给定的速率生成一定数量的粒子。
tip
Particles仅在使用GLES3渲染器(效果优先)时有效。如果使用GLES2渲染器(性能优先),请改用CPUParticles。
CPUParticle基于CPU的3D粒子节点用于创建各种粒子系统和效果。
CPUParticle提供了与硬件加速相同的功能,但可能无法在较旧的设备上运行。但是如果需要在html5模型下运行,就只能使用此粒子。
基础用法
粒子系统的创建主要有两种方式:
快捷创建
点击窗口左上角的快捷创建按钮会弹出菜单列表,在里面选择粒子就会出现CPU粒子和粒子供我们选择创建:
这种方式粒子(GPU粒子)和CPU粒子两种粒子都可以创建,如下图左侧是GPU粒子右侧是CPU粒子
使用粒子库
点击窗口左下角的资源,再点击里面的粒子库这里面有很多炫酷的粒子可供我们选择创建
粒子库里的粒子一般是由多个粒子节点组合而成,这样可以获得更好的渲染效果
粒子系统
GPU粒子
通过使用GPU粒子可以生成很多有趣的特效,下面我们将详细介绍GPU粒子的属性
基础属性
GPU粒子有以下基础属性是我们必须要掌握的
粒子
发射
参数默认是勾选的,用于控制粒子是否启用,如果取消就会停止发射粒子。
数量
用于设置发射粒子的数量,如下图左侧粒子数量小明显烟雾效果就弱
时间
- 生命周期 每个粒子存活的时间(以秒为单位),生命周期结束时, 会创建一个新粒子来替换它。
下图左侧的烟雾粒子生命周期比较短,粒子存活的时间短很难持续到一定的高度
执行一次启用后节点将一次性发出所有粒子, 然后再也不发射。
速度比速度比例具有默认值 1 , 用于调整粒子系统的速度. 降低值会使粒子变慢, 而增加值会使粒子更快.
下图左侧粒子的速度是0看上去像是静止的,中间的粒子有速度但是速度比较低
- 随机性参数可以改变粒子发射的随机程度
绘制
- 可视包围盒控制粒子在屏幕上的可见性,如果此可视包围盒位于视区之外, 则引擎将不会在屏幕上渲染粒子。 包围盒的 W 和 H 选项分别控制其宽度和高度. X 和 Y 选项控制矩形左上角相对于粒子发射器的位置.
tip
CPUParticle与Particle不同,可见包围盒是即时生成的,不需要用户另外配置。
局部坐标 默认情况下, 此选项处于启用状态, 这意味着粒子发射的空间是相对于节点来算的。如果移动节点, 则所有粒子会随之移动:
如果不勾选, 粒子将发射到全局空间, 这意味着如果移动节点, 则已发射的粒子不会受到影响,可以用于模拟汽车尾气等轨迹效果
绘制材质
从快速创建中添加的粒子已经带有默认材质,
我们可以通过修改颜色、设置序列帧贴图、增加自发光属性等操作来获得更加有趣的粒子效果。
- 设置序列帧图片
新导入的序列帧行帧数和列帧数需要重新设置,并且设置参数数量和纹理中显示的要一致。
发射参数(处理材质)
发射参数有如下一些参数选项:
时间:
- 生命周期: 每个粒子存在的时间(以秒为单位)。
- 执行一次: 启用之后,该粒子只会发射一次,生命周期结束之后自动结束发射。
- 速度比: 控制粒子整体发射速率的值,值为0时可以用于暂停粒子运动。
- 随机性: 让粒子发射的结果更加的随机。
朝向
- 朝向: 粒子运动的方向。
- 扩散度: 粒子向着朝向方向运动时的扩散程度。
- 平整度: 控制粒子发射的平整程度,当值为1时,粒子会沿着直线移动。
重力
- 重力: 相当于给每个粒子加了一个有方向的重力。
初始速度
- 速度: 该速度值为粒子刚开始发射时的速度。
- 速度随机率: 用来控制每个粒子初始速度的随机性。
线性加速度
- 加速度: 该值为粒子线性方向加速度值。
- 加速度随机比: 用来控制每个粒子线性方向加速度的随机性。
- 加速度曲线: 用来一条曲线来控制粒子线性方向的加速度。
缩放
- 缩放: 该值为控制粒子大小的缩放值。
- 缩放随机率: 用来控制每个粒子缩放大小的随机性。
- 缩放曲线: 用来一条曲线来控制粒子在生命周期内的缩放。
颜色
- 颜色: 该值为每个粒子的颜色值。
- 颜色渐变: 可以用一张渐变贴图来让粒子在生命周期内根据贴图来变化颜色。
动画
- 速度: 该值控制粒子序列帧播放的速度。
- 速度随机率: 给粒子粒子序列帧播放速度一个随机值。
- 速度曲线: 通过一条曲线来控制粒子序列帧播放速度。
- 偏移: 给粒子序列帧动画一个偏移值。
- 偏移随机率: 给粒子序列帧动画一个随机的偏移值
- 偏移曲线: 可以用一根曲线来控制粒子在生命周期内的动画偏移值。
CPU粒子
通过使用CPU粒子可以生成很多有趣的特效,下面我们将详细介绍CPU粒子的属性
基础属性
- 发射参数默认是勾选的,如果取消就会停止发射粒子
- 数量参数用于设置发射粒子的数量,如下图左侧粒子数量小明显烟雾效果就弱
时间
- 生命周期 每个粒子存活的时间(以秒为单位),生命周期结束时, 会创建一个新粒子来替换它。
下图左侧的烟雾粒子生命周期比较短,粒子存活的时间短很难持续到一定的高度
- 速度比速度比例具有默认值 1 , 用于调整粒子系统的速度. 降低值会使粒子变慢, 而增加值会使粒子更快.
下图左侧粒子的速度是0看上去像是静止的,中间的粒子有速度但是速度比较低
绘制材质
CPU粒子的材质绘制和GPU类似可以参考上面GPU的对应章节。
发射参数
时间:
- 生命周期: 每个粒子存在的时间(以秒为单位)。
- 执行一次: 启用之后,该粒子只会发射一次,生命周期结束之后自动结束发射。
- 速度比: 控制粒子整体发射速率的值,值为0时可以用于暂停粒子运动。
- 随机性: 让粒子发射的结果更加的随机。
朝向
- 朝向: 粒子运动的方向。
- 扩散度: 粒子向着朝向方向运动时的扩散程度。
- 平整度: 控制粒子发射的平整程度,当值为1时,粒子会沿着直线移动。
重力
- 重力: 相当于给每个粒子加了一个有方向的重力。
初始速度
- 速度: 该速度值为粒子刚开始发射时的速度。
- 速度随机率: 用来控制每个粒子初始速度的随机性。
线性加速度
- 加速度: 该值为粒子线性方向加速度值。
- 加速度随机比: 用来控制每个粒子线性方向加速度的随机性。
- 加速度曲线: 用来一条曲线来控制粒子线性方向的加速度。
阻尼
- 阻尼选项会对颗粒施加摩擦力, 迫使它们停止. 它特别适用于火花或爆炸, 火花或爆炸通常以高线速度开始, 然后在他们隐去时停下来。
角速度
- 角速度是应用于粒子的初始角速度。