2.2 粒子系统¶
描述¶
粒子系统在游戏影视行业有广泛的应用,主要被用来制作各种常见的特效。例如:雨,雪,火,爆炸,水花,落叶等等都可以使用粒子系统很快的实现。而我们IdeaVR2021的粒子系统就是Particle和CPUParticle。
Particle是基于GPU的3D粒子发射器,用于创建各种粒子系统和效果的3D粒子节点。Particles具有发射器,该发射器以给定的速率生成一定数量的粒子。
!!! 注意:
Particles仅在使用GLES3渲染器(效果优先)时有效。如果使用GLES2渲染器(性能优先),请改用CPUParticles。
CPUParticle基于CPU的3D粒子节点用于创建各种粒子系统和效果。
CPUParticle提供了与硬件加速相同的功能,但可能无法在较旧的设备上运行。但是如果需要在Html5模型下运行,就只能使用此粒子。
!!! 注意:
CPUParticle与Particle不同,可见包围盒是即时生成的,不需要用户另外配置。
(Particle)GPU粒子系统属性说明¶
发射
勾选启用之后,粒子效果开始发射。
数量
!!! 注意: 更改数量将重置粒子发射,因此请在更改数量之前清除所有已经发射的粒子。
时间 - 生命周期: 每个粒子存在的时间(以秒为单位)。 - 执行一次: 启用之后,该粒子只会发射一次,生命周期结束之后自动结束发射。 - 速度比: 控制粒子整体发射速率的值,值为0时可以用于暂停粒子运动。 - 随机性: 让粒子发射的结果更加的随机。
绘制 注意:在“粒子”节点上工作后,记得先设定正确的粒子可见包围盒范围。否则,根据相机的位置和角度,粒子可能会突然消失。
当淡黄色AABB包围盒不在相机视锥体可视范围内的时候,粒子会被剔除,所以在制作粒子效果的时候应该要注意这个问题。否则会导致在相机移动到一些视角的时候,粒子突然消失的问题。如下图所示:
处理材质 - 处理材质 - 处理材质: 用于处理颗粒的材料。可以是ParticlesMaterial或ShaderMaterial。
-
发射形状
- 形状: 可以让粒子以多种不同的形状发射,形状类型包括(点,Sphere,平角,点,Directed Points)。
-
朝向
- 朝向: 粒子运动的方向。
- 扩散度: 粒子向着朝向方向运动时的扩散程度。
- 平整度: 控制粒子发射的平整程度,当值为1时,粒子会沿着直线移动。
-
重力
- 重力: 相当于给每个粒子加了一个有方向的重力。
-
初始速度
- 速度: 该速度值为粒子刚开始发射时的速度。
- 速度随机率: 用来控制每个粒子初始速度的随机性。
-
线性加速度
- 加速度: 该值为粒子线性方向加速度值。
- 加速度随机比: 用来控制每个粒子线性方向加速度的随机性。
- 加速度曲线: 用来一条曲线来控制粒子线性方向的加速度。
-
缩放
- 缩放: 该值为控制粒子大小的缩放值。
- 缩放随机率: 用来控制每个粒子缩放大小的随机性。
- 缩放曲线: 用来一条曲线来控制粒子在生命周期内的缩放。
-
颜色
- 颜色: 该值为每个粒子的颜色值。
- 颜色渐变: 可以用一张渐变贴图来让粒子在生命周期内根据贴图来变化颜色。
-
动画
- 速度: 该值控制粒子序列帧播放的速度。
- 速度随机率: 给粒子粒子序列帧播放速度一个随机值。
- 速度曲线: 通过一条曲线来控制粒子序列帧播放速度。
- 偏移: 给粒子序列帧动画一个偏移值。
- 偏移随机率: 给粒子序列帧动画一个随机的偏移值
- 偏移曲线: 可以用一根曲线来控制粒子在生命周期内的动画偏移值。
-
时间
- 生命周期随机性: 该值用来为粒子生成一个随机的生命周期。
绘制通道 - 通道1:用来选择每个粒子的网格。
绘制材质 - 每个粒子的材质。可以是SpatialMaterial或ShaderMaterial。
CPU粒子系统属性说明¶
发射
勾选启用之后,粒子效果开始发射。
数量
注意: 更改数量将重置粒子发射,因此请在更改数量之前清除所有已经发射的粒子。
时间 - 生命周期: 每个粒子存在的时间(以秒为单位)。 - 执行一次: 启用之后,该粒子只会发射一次,生命周期结束之后自动结束发射。 - 速度比: 控制粒子整体发射速率的值,值为0时可以用于暂停粒子运动。 - 随机性: 让粒子发射的结果更加的随机。
绘制 - 网格: 用来选择每个粒子的网格。 - 绘制材质: 每个粒子的材质,可以是SpatialMaterial或ShaderMaterial。
CPU粒子属性
-
发射形状
- 形状: 可以让粒子以多种不同的形状发射,形状类型包括(点,Sphere,平角,点,Directed Points)。
-
朝向
- 朝向: 粒子运动的方向。
- 扩散度: 粒子向着朝向方向运动时的扩散程度。
- 平整度: 控制粒子发射的平整程度,当值为1时,粒子会沿着直线移动。
-
重力
- 重力: 相当于给每个粒子加了一个有方向的重力。
-
初始速度
- 速度: 该速度值为粒子刚开始发射时的速度。
- 速度随机率: 用来控制每个粒子初始速度的随机性。
-
线性加速度
- 加速度: 该值为粒子线性方向加速度值。
- 加速度随机比: 用来控制每个粒子线性方向加速度的随机性。
- 加速度曲线: 用来一条曲线来控制粒子线性方向的加速度。
-
缩放
- 缩放: 该值为控制粒子大小的缩放值。
- 缩放随机率: 用来控制每个粒子缩放大小的随机性。
- 缩放曲线: 用来一条曲线来控制粒子在生命周期内的缩放。
-
颜色
- 颜色: 该值为每个粒子的颜色值。
- 颜色渐变: 可以用一张渐变贴图来让粒子在生命周期内根据贴图来变化颜色。
-
动画
- 速度: 该值控制粒子序列帧播放的速度。
- 速度随机率: 给粒子粒子序列帧播放速度一个随机值。
- 速度曲线: 通过一条曲线来控制粒子序列帧播放速度。
- 偏移: 给粒子序列帧动画一个偏移值。
- 偏移随机率: 给粒子序列帧动画一个随机的偏移值
- 偏移曲线: 可以用一根曲线来控制粒子在生命周期内的动画偏移值。
总结¶
目前在我们IdeaVR2021中还是推荐大家使用Particle,如果没有打包H5版本的特殊需求,尽量不要使用CPUParticle。因为使用CPUParticle会产生大量的性能损耗,正常情况下应该尽量避免使用。