粒子系統(tǒng)管理粒子集合的更新和顯示。
new ParticleSystem(options)
Parameters:
options
(Object)
Name | Description |
---|---|
options.show
Boolean
default true
|
是否顯示粒子系統(tǒng)。 |
options.updateCallback
ParticleSystem~updateCallback
|
調(diào)用每個幀以更新粒子的回調(diào)函數(shù)。 |
options.emitter
ParticleEmitter
default new CircleEmitter(0.5)
|
這個系統(tǒng)的粒子發(fā)射器。 |
options.modelMatrix
Matrix4
default Matrix4.IDENTITY
|
將粒子系統(tǒng)從模型轉(zhuǎn)換為世界坐標的4x4變換矩陣。 |
options.emitterModelMatrix
Matrix4
default Matrix4.IDENTITY
|
在粒子系統(tǒng)局部坐標系內(nèi)轉(zhuǎn)換粒子系統(tǒng)發(fā)射器的4x4變換矩陣。 |
options.emissionRate
Number
default 5
|
每秒要發(fā)射的粒子數(shù)。 |
options.bursts
Array.<ParticleBurst>
|
一個由ParticleBurst 組成的陣列,周期性地發(fā)射出粒子爆發(fā)。
|
options.loop
Boolean
default true
|
粒子系統(tǒng)是否應該在它完成時循環(huán)其爆發(fā)。 |
options.scale
Number
default 1.0
|
設(shè)置在粒子壽命期間應用于粒子圖像的比例。 |
options.startScale
Number
|
應用于粒子生命開始時的圖像的初始比例。 |
options.endScale
Number
|
在粒子壽命結(jié)束時應用于其圖像的最終比例。 |
options.color
Color
default Color.WHITE
|
設(shè)置粒子在其粒子壽命期間的顏色。 |
options.startColor
Color
|
粒子生命開始時的顏色。 |
options.endColor
Color
|
粒子壽命結(jié)束時的顏色。 |
options.image
Object
|
要用于公告牌的uri、htmlImageElement或htmlCanvaseElement。 |
options.imageSize
Cartesian2
default new Cartesian2(1.0, 1.0)
|
如果設(shè)置,則覆蓋以像素為單位縮放粒子圖像尺寸的最小圖像大小和最大圖像大小輸入。 |
options.minimumImageSize
Cartesian2
|
設(shè)置最小邊界(寬度和高度),在其上隨機縮放粒子圖像的像素尺寸。 |
options.maximumImageSize
Cartesian2
|
設(shè)置最大界限(寬度和高度),在其下方隨機縮放粒子圖像的像素尺寸。 |
options.speed
Number
default 1.0
|
如果設(shè)置,則用該值覆蓋最小速度和最大速度輸入。 |
options.minimumSpeed
Number
|
設(shè)置以米/秒為單位的最小界限,在該界限之上將隨機選擇粒子的實際速度。 |
options.maximumSpeed
Number
|
設(shè)置以米/秒為單位的最大界限,低于該界限將隨機選擇粒子的實際速度。 |
options.lifetime
Number
default Number.MAX_VALUE
|
粒子系統(tǒng)發(fā)射粒子的時間,以秒為單位。 |
options.particleLife
Number
default 5.0
|
如果設(shè)置,則使用此值覆蓋MinimumParticleLife和MaximumParicleLife輸入。 |
options.minimumParticleLife
Number
|
設(shè)置粒子壽命的可能持續(xù)時間的最小限制(以秒為單位),超過該限制將隨機選擇粒子的實際壽命。 |
options.maximumParticleLife
Number
|
設(shè)置粒子壽命的可能持續(xù)時間的最大限制(以秒為單位),低于此限制將隨機選擇粒子的實際壽命。 |
options.mass
Number
default 1.0
|
以千克為單位設(shè)置粒子的最小和最大質(zhì)量。 |
options.minimumMass
Number
|
以千克為單位設(shè)置粒子質(zhì)量的最小界限。粒子的實際質(zhì)量將被選作高于該值的隨機量。 |
options.maximumMass
Number
|
以千克為單位設(shè)置粒子的最大質(zhì)量。粒子的實際質(zhì)量將被選作低于該值的隨機量。 |
Members
bursts : Array.<ParticleBurst>
一個由
ParticleBurst
組成的陣列,周期性地發(fā)射出粒子爆發(fā)。
-
Default Value:
undefined
complete : Event
當粒子系統(tǒng)達到其壽命結(jié)束時觸發(fā)事件。
emissionRate : Number
每秒要發(fā)射的粒子數(shù)。
-
Default Value:
5
emitter : ParticleEmitter
這個粒子發(fā)射器
-
Default Value:
CircleEmitter
emitterModelMatrix : Matrix4
在粒子系統(tǒng)局部坐標系內(nèi)轉(zhuǎn)換粒子系統(tǒng)發(fā)射器的4x4變換矩陣。
-
Default Value:
Matrix4.IDENTITY
endColor : Color
粒子壽命結(jié)束時的顏色。
-
Default Value:
Color.WHITE
endScale : Number
在粒子壽命結(jié)束時應用于其圖像的最終比例。
-
Default Value:
1.0
image : Object
要用于公告牌的uri、htmlImageElement或htmlCanvaseElement。
-
Default Value:
undefined
isComplete : Boolean
當
true
時,粒子系統(tǒng)已達到其壽命的終點;否則為false
。
lifetime : Number
粒子系統(tǒng)發(fā)射粒子的時間,以秒為單位。
-
Default Value:
Number.MAX_VALUE
loop : Boolean
粒子系統(tǒng)是否應該在它完成時循環(huán)它的爆發(fā)。
-
Default Value:
true
maximumImageSize : Cartesian2
設(shè)置最大界限(寬度和高度),在其下方隨機縮放粒子圖像的像素尺寸。
-
Default Value:
new Cartesian2(1.0, 1.0)
maximumMass : Number
以千克為單位設(shè)置粒子的最大質(zhì)量。
-
Default Value:
1.0
maximumParticleLife : Number
設(shè)置粒子壽命的可能持續(xù)時間的最大限制(以秒為單位),低于此限制將隨機選擇粒子的實際壽命。
-
Default Value:
5.0
maximumSpeed : Number
設(shè)置以米/秒為單位的最大界限,低于該界限將隨機選擇粒子的實際速度。
-
Default Value:
1.0
minimumImageSize : Cartesian2
設(shè)置最小邊界(寬度和高度),在其上隨機縮放粒子圖像的像素尺寸。
-
Default Value:
new Cartesian2(1.0, 1.0)
minimumMass : Number
以千克為單位設(shè)置粒子的最小質(zhì)量。
-
Default Value:
1.0
minimumParticleLife : Number
設(shè)置粒子壽命的可能持續(xù)時間的最小限制(以秒為單位),超過該限制將隨機選擇粒子的實際壽命。
-
Default Value:
5.0
minimumSpeed : Number
設(shè)置以米/秒為單位的最小界限,在該界限之上將隨機選擇粒子的實際速度。
-
Default Value:
1.0
modelMatrix : Matrix4
將粒子系統(tǒng)從模型轉(zhuǎn)換為世界坐標的4x4變換矩陣。
-
Default Value:
Matrix4.IDENTITY
show : Boolean
是否顯示粒子系統(tǒng)。
-
Default Value:
true
startColor : Color
粒子生命開始時的顏色。
-
Default Value:
Color.WHITE
startScale : Number
應用于粒子生命開始時的圖像的初始比例。
-
Default Value:
1.0
updateCallback : ParticleSystem~updateCallback
一組強制回調(diào)。回調(diào)通過了a
Particle
和上次的差異
-
Default Value:
undefined
Methods
destroy()
銷毀此對象持有的WebGL資源。銷毀對象允許確定地釋放WebGL資源,而不是依賴垃圾收集器來銷毀此對象。
一旦對象被破壞,就不應使用它;調(diào)用除
一旦對象被破壞,就不應使用它;調(diào)用除
isDestroyed
以外的任何函數(shù)都將導致DeveloperError
異常。因此,將返回值(undefined
)賦給對象,如示例中所述。
Throws
-
DeveloperError : 此對象已被銷毀,即調(diào)用destroy()。
Type Definitions
updateCallback(particle, dt)
用于在每個時間步修改粒子屬性的函數(shù)。這可以包括強制修改、顏色、大小調(diào)整等。
Parameters:
dt
(Number)
自上次更新以來的時間(秒)。
Example
function applyGravity(particle, dt) {
var position = particle.position;
var gravityVector = bmgl.Cartesian3.normalize(position, new bmgl.Cartesian3());
bmgl.Cartesian3.multiplyByScalar(gravityVector, GRAVITATIONAL_CONSTANT * dt, gravityVector);
particle.velocity = bmgl.Cartesian3.add(particle.velocity, gravityVector, particle.velocity);
}