ParticleSystem

new Cesium.ParticleSystem(options)

粒子系统管理粒子集合的更新和显示。
Name Type Description
options Object optional 具有以下属性的对象:
Name Type Default Description
show Boolean true optional 是否显示粒子系统。
updateCallback ParticleSystem.updateCallback optional 为更新粒子而调用的每个帧的回调函数。
emitter ParticleEmitter new CircleEmitter(0.5) optional 此系统的粒子发射器。
modelMatrix Matrix4 Matrix4.IDENTITY optional 将粒子系统从模型转换为世界坐标的4x4变换矩阵。
emitterModelMatrix Matrix4 Matrix4.IDENTITY optional 在粒子系统局部坐标系内变换粒子系统发射器的4x4变换矩阵。
emissionRate Number 5 optional 每秒要发射的粒子数。
bursts Array.<ParticleBurst> optional 一种由ParticleBurst组成的阵列,在周期性时间发射粒子爆发。
loop Boolean true optional 粒子系统是否应该在它完成时循环它的爆发。
scale Number 1.0 optional 设置要在粒子寿命期间应用于粒子图像的比例。
startScale Number optional 在粒子生命开始时应用于粒子图像的初始比例。
endScale Number optional 在粒子寿命结束时应用于粒子图像的最终比例。
color Color Color.WHITE optional 设置粒子在其粒子寿命期间的颜色。
startColor Color optional 粒子生命开始时的颜色。
endColor Color optional 粒子寿命结束时的颜色。
image Object optional 用于公告牌的URI、HTMLImageElement或htmlCanvaseElement。
imageSize Cartesian2 new Cartesian2(1.0, 1.0) optional 如果设置,将覆盖以像素为单位缩放粒子图像尺寸的minimumImageSize和maximumImageSize输入。
minimumImageSize Cartesian2 optional 设置最小边界(宽度按高度),在该范围上以像素为单位随机缩放粒子图像的尺寸。
maximumImageSize Cartesian2 optional 设置最大界限(宽度按高度),低于该界限可随机缩放粒子图像的尺寸(以像素为单位)。
sizeInMeters Boolean optional 设置粒子的大小是以米还是像素为单位。true以米为单位调整粒子大小;否则,大小以像素为单位。
speed Number 1.0 optional 如果设置,则用此值覆盖minimumSpeed和maximumSpeed输入。
minimumSpeed Number optional 设置以米/秒为单位的最小界限,超过该范围将随机选择粒子的实际速度。
maximumSpeed Number optional 设置将随机选择粒子的实际速度的最大界限(以米/秒为单位)。
lifetime Number Number.MAX_VALUE optional 粒子系统将发射粒子的时间,以秒为单位。
particleLife Number 5.0 optional 如果设置,则使用此值重写minimumParticleLife和MaximumArticleLife输入。
minimumParticleLife Number optional 以秒为单位设置粒子寿命的可能持续时间的最小界限,超过该范围将随机选择粒子的实际寿命。
maximumParticleLife Number optional 设置粒子寿命的可能持续时间(以秒为单位)的最大界限,低于该范围将随机选择粒子的实际寿命。
mass Number 1.0 optional 最小质量和最大质量。
minimumMass Number optional 以千克为单位设置粒子质量的最小界限。粒子的实际质量将被选为高于此值的随机量。
maximumMass Number optional 以千克为单位设置粒子的最大质量。粒子的实际质量将被选择为低于此值的随机数量。
Tutorials:
Demo:

Members

ParticleBurst组成的阵列,以周期性的时间发射粒子的爆发。
Default Value: undefined
当粒子系统到达其生命周期结束时激发事件。

emissionRate : Number

每秒要发射的粒子数。
Default Value: 5
粒子发射器
Default Value: CircleEmitter

emitterModelMatrix : Matrix4

在粒子系统局部坐标系内变换粒子系统发射器的4x4变换矩阵。
Default Value: Matrix4.IDENTITY
粒子寿命结束时的颜色。
Default Value: Color.WHITE

endScale : Number

在粒子寿命结束时应用于粒子图像的最终比例。
Default Value: 1.0
用于公告牌的URI、HTMLImageElement或htmlCanvaseElement。
Default Value: undefined

isComplete : Boolean

true时,粒子系统已到达其生命周期的终点;否则为false

lifetime : Number

粒子系统将发射粒子的时间,以秒为单位。
Default Value: Number.MAX_VALUE
粒子系统是否应该在完成时循环它的爆发。
Default Value: true
设置最大界限(宽度按高度),低于该界限可随机缩放粒子图像的尺寸(以像素为单位)。
Default Value: new Cartesian2(1.0, 1.0)

maximumMass : Number

以千克为单位设置粒子的最大质量。
Default Value: 1.0

maximumParticleLife : Number

设置粒子寿命的可能持续时间(以秒为单位)的最大界限,低于该范围将随机选择粒子的实际寿命。
Default Value: 5.0

maximumSpeed : Number

设置将随机选择粒子的实际速度的最大界限(以米/秒为单位)。
Default Value: 1.0
设置最小边界(宽度按高度),在该范围上以像素为单位随机缩放粒子图像的尺寸。
Default Value: new Cartesian2(1.0, 1.0)

minimumMass : Number

以千克为单位设置粒子的最小质量。
Default Value: 1.0

minimumParticleLife : Number

以秒为单位设置粒子寿命的可能持续时间的最小界限,超过该范围将随机选择粒子的实际寿命。
Default Value: 5.0

minimumSpeed : Number

设置以米/秒为单位的最小界限,超过该范围将随机选择粒子的实际速度。
Default Value: 1.0
将粒子系统从模型转换为世界坐标的4x4变换矩阵。
Default Value: Matrix4.IDENTITY
是否显示粒子系统。
Default Value: true

sizeInMeters : Boolean

获取或设置粒子大小是否以米或像素为单位。true以米为单位调整粒子大小;否则,大小以像素为单位。
Default Value: false
粒子生命开始时的颜色。
Default Value: Color.WHITE

startScale : Number

在粒子生命开始时应用于粒子图像的初始比例。
Default Value: 1.0
一组强制回调。回调被传递给Particle和上次的差
Default Value: undefined

Methods



销毁此对象持有的WebGL资源。销毁一个对象允许确定性 释放WebGL资源,而不是依赖垃圾回收器销毁此对象。 一旦一个对象被销毁,就不应该使用它;调用除 isDestroyed将导致DeveloperError异常。因此, 如示例所示,将返回值(undefined)分配给对象。
Throws:
See:

isDestroyed()Boolean



如果此对象已销毁,则返回true;否则返回false。 如果此对象已被销毁,则不应使用它;调用除 isDestroyed将导致DeveloperError异常。
Returns:
如果此对象被销毁,则为true;否则为false
See:

Type Definitions

Cesium.ParticleSystem.updateCallback(particle, dt)

用于在每个时间步修改粒子属性的函数。这可能包括部队修改, 颜色、尺寸等。
Name Type Description
particle Particle 正在更新的粒子。
dt Number 自上次更新以来的时间(秒)。
Example:
function applyGravity(particle, dt) {
   var position = particle.position;
   var gravityVector = Cesium.Cartesian3.normalize(position, new Cesium.Cartesian3());
   Cesium.Cartesian3.multiplyByScalar(gravityVector, GRAVITATIONAL_CONSTANT * dt, gravityVector);
   particle.velocity = Cesium.Cartesian3.add(particle.velocity, gravityVector, particle.velocity);
}