麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - ParticleSystem 中文文档

本文介绍下Cesium中 ParticleSystem API的详细使用说明。

ParticleSystem API 调用方法

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或HTMLCanvasElement。
imageSize Cartesian2 new Cartesian2(1.0, 1.0) optional 如果设置,则将覆盖用来缩放粒子图像尺寸(以像素为单位)的minimumImageSize和maximumImageSize输入。
minimumImageSize Cartesian2 optional 设置最小的宽度与高度之比,在这之上将随机缩放粒子图像的尺寸(以像素为单位)。
maximumImageSize Cartesian2 optional 设置最大的宽度与高度之比,在这之下将随机缩放粒子图像的尺寸(以像素为单位)。
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和maximumParticleLife输入。
minimumParticleLife Number optional 设置以秒为单位的粒子生命的可能持续时间的最小范围,在该范围内可以随机选择粒子的实际生命
maximumParticleLife Number optional 设置以秒为单位的粒子生命的可能持续时间的最大范围,在该范围内可以随机选择粒子的实际生命。
mass Number 1.0 optional 设置粒子的最小和最大质量(以千克为单位)。
minimumMass Number optional 设置最小粒子质量(以千克为单位)。粒子的实际质量将被选择为高于该值的随机量。
maximumMass Number optional 设置最大粒子质量(以千克为单位)。粒子的实际质量将选择为低于此值的随机量。
Tutorials:
演示Demo:

成员变量

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或HTMLCanvasElement。
Default Value: undefined
isComplete : Boolean
true时,粒子系统已达到寿命终点。
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
粒子生命初期的颜色。
Default Value: Color.WHITE
startScale : Number
在粒子寿命开始时应用于粒子图像的初始比例。
Default Value: 1.0
一组强制回调。回调将传递与上次不同的Particle
Default Value: undefined

内置方法

销毁此对象持有的WebGL资源。

一旦对象被销毁,它将不能在使用;调用除isDestroyed之外的任何函数都会导致DeveloperError异常。 因此,将返回值(undefined)赋给对象,如示例所示。
异常情况:
参考:
isDestroyed()Boolean
如果该对象没被销毁,返回false。

如果该对象已经被销毁, 使用isDestroyed 会触发 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);
}

其他API

Cesium中文API文档手册(v1.63.1版本)参考:《Cesium中文API文档手册(v1.63.1版本)

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)