new Cesium.ParticleSystem(options)
粒子系统管理粒子集合的更新和显示。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
具有下列属性的对象:
|
- Tutorials:
-
- Tutorial: Particle Systems Tutorial
演示Demo:
成员变量
bursts : Array.<ParticleBurst>
ParticleBurst
数组,在周期时间内发射粒子的喷发。
-
Default Value:
undefined
complete : Event
当粒子系统达到其寿命结束时触发事件。
emissionRate : Number
每秒释放的粒子数。
-
Default Value:
5
emitter : ParticleEmitter
粒子发射器。
-
Default Value:
CircleEmitter
emitterModelMatrix : Matrix4
在粒子系统局部坐标系中变换粒子系统发射器的4x4变换矩阵。
-
Default Value:
Matrix4.IDENTITY
endColor : Color
粒子生命结束时的颜色。
-
Default Value:
Color.WHITE
endScale : Number
在粒子寿命结束时应用于粒子图像的最终比例。
-
Default Value:
1.0
image : Object
用于布告牌的URI,HTMLImageElement或HTMLCanvasElement。
-
Default Value:
undefined
isComplete : Boolean
当
true
时,粒子系统已达到寿命终点。
lifetime : Number
粒子系统发射粒子的时间,以秒为单位。
-
Default Value:
Number.MAX_VALUE
loop : Boolean
粒子系统是否应该在完成时循环它的爆发。
-
Default Value:
true
maximumImageSize : Cartesian2
设置最大的宽度与高度之比,在这之下将随机缩放粒子图像的尺寸(以像素为单位)。
-
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
minimumImageSize : Cartesian2
设置最小的宽度与高度之比,在这之上将随机缩放粒子图像的尺寸(以像素为单位)。
-
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
modelMatrix : Matrix4
将粒子系统从模型坐标转换为世界坐标的4x4变换矩阵。
-
Default Value:
Matrix4.IDENTITY
show : Boolean
是否显示粒子系统。
-
Default Value:
true
startColor : Color
粒子生命初期的颜色。
-
Default Value:
Color.WHITE
startScale : Number
在粒子寿命开始时应用于粒子图像的初始比例。
-
Default Value:
1.0
updateCallback : ParticleSystem~updateCallback
一组强制回调。回调将传递与上次不同的
Particle
。
-
Default Value:
undefined
内置方法
destroy()
销毁此对象持有的WebGL资源。
一旦对象被销毁,它将不能在使用;调用除
一旦对象被销毁,它将不能在使用;调用除
isDestroyed
之外的任何函数都会导致DeveloperError
异常。
因此,将返回值(undefined
)赋给对象,如示例所示。
异常情况:
-
DeveloperError : 对象已经被销毁。
返回值:
false
类型定义
updateCallback(particle, dt)
用于在每个时间步长内修改粒子属性的函数。这可以包括颜色,尺寸等。
Name | Type | Description |
---|---|---|
particle |
Particle | 被更新的粒子。 |
dt |
Number | 上次更新后的秒数。 |
示例:
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);
}