ParticleSystem

new mars3d.graphic.ParticleSystem(options)

粒子效果 对象,该对象暂不支持鼠标交互和拾取

参数名称 类型 描述信息
options object

参数对象,包括以下:

参数名称 类型 默认值 描述信息
position LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | BaseGraphic.AjaxPosition | Array.<number> | string 可选

坐标位置

modelMatrix Cesium.Matrix4 | function 可选

粒子系统模型矩阵, 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵,可以替代position。

emitterModelMatrix Cesium.Matrix4 | function 可选

发射器矩阵, 用于在粒子系统本地坐标系中转换粒子系统发射器

updateCallback function 可选

每一帧调用一个回调函数来更新一个粒子。

style ParticleSystem.StyleOptions

样式信息

attr object | BaseGraphic.AjaxAttr 可选

附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。

id string | number createGuid() 可选

矢量数据id标识

name string 可选

矢量数据名称

show boolean true 可选

矢量数据是否显示

eventParent BaseClass | boolean 可选

指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件

flyTo boolean 可选

加载完成数据后是否自动飞行定位到数据所在的区域。

flyToOptions object 可选

加载完成数据后是否自动飞行定位到数据所在的区域的对应 BaseGraphic#flyTo方法参数。

参考:

继承

成员(属性)

readonly center : Cesium.Cartesian3

中心点坐标 (笛卡尔坐标)

继承自:

readonly centerPoint : LngLatPoint

中心点坐标

继承自:

readonly coordinate : Array

位置坐标(数组对象),示例[113.123456,31.123456,30.1]

继承自:

debugAxis : boolean

是否显示3个方向轴,用于对比测试

继承自:

debugAxisLength : number

显示3个方向轴时的对应轴长度,用于对比测试

继承自:

gravity : number

重力因子,会修改速度矢量以改变方向或速度(基于物理的效果)

readonly hasOpacity : boolean

是否可以调整透明度

heading : number

四周方向角,0-360度角度值
提示:父类属性,非所有子类都具备

继承自:

height : number

坐标对应的高度值(单位:米)

继承自:

maxHeight : number

最大视角高度(单位:米),超出该高度不显示粒子效果

readonly modelMatrix : Cesium.Matrix4

将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵。
提示:父类属性,非所有子类都具备

继承自:

objectsToExclude : Array.<object>|undefined

贴模型分析时,排除的不进行贴模型计算的模型对象,默认是当前本身,可以是: primitives, entities 等

继承自:

readonly orientation : Cesium.Quaternion

三维空间中的旋转 【仅部分对象支持】

继承自:

particleSize : number

粒子图片的Size大小(单位:像素)

pitch : number

俯仰角,上下摇摆的角度,0-360度角度值
提示:父类属性,非所有子类都具备

继承自:

readonly point : LngLatPoint

位置坐标

继承自:

position : Cesium.Cartesian3|LngLatPoint

位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象

继承自:

readonly positionShow : Cesium.Cartesian3

当前实时位置坐标(笛卡尔坐标)

继承自:

readonly positionsShow : Array.<Cesium.Cartesian3>

同 positions只是为了兼容entity的同名属性

继承自:

property : Cesium.SampledPositionProperty|Cesium.CallbackProperty

动态位置坐标

继承自:

roll : number

滚转角,左右摆动的角度,0-360度角度值
提示:父类属性,非所有子类都具备

继承自:

readonly trackedEntity : Cesium.Entity|*

用于 map.trackedEntity 追踪的

继承自:

transX : number

X轴方向上的偏离距离(单位:米)

transY : number

Y轴方向上的偏离距离(单位:米)

transZ : number

离地高度,Z轴方向上的偏离距离(单位:米)

方法

addDynamicPosition(point, currTime)BasePointPrimitive

设置并添加动画轨迹位置,按“指定时间”运动到达“指定位置”。 【仅LabelPrimitive、PointPrimitive、BillboardPrimitive、ModelPrimitive 等部分子类支持】

参数名称 类型 默认值 描述信息
point LngLatPoint | Cesium.Cartesian3 | Array.<number>

指定位置坐标

currTime Cesium.JulianDate | Date | string | number Cesium.JulianDate.now() 可选

指定时间。当为String时,可以传入'2021-01-01 12:13:00'; 当为Number时,可以传入当前时间延迟的秒数。

返回值:

当前对象本身,可以链式调用

继承自:

autoSurfaceHeight(options)Promise.<object>

异步计算更新坐标高度进行贴地(或贴模型),内部自动调用PointUtil#getSurfaceHeight方法处理。

参数名称 类型 默认值 描述信息
options object {} 可选

参数对象:

参数名称 类型 默认值 描述信息
has3dtiles boolean auto 可选

是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)

objectsToExclude Array.<object> 可选

贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features

返回值:

异步计算完成的Promise

继承自:

getCoordinate(noAlt)Array

位置坐标(数组对象),示例[113.123456,31.123456,30.1]

参数名称 类型 描述信息
noAlt boolean

true时不导出高度值

返回值:

位置坐标(数组对象)

继承自:

定义的类型

mars3d.graphic.ParticleSystem.StyleOptions

粒子效果 支持的样式信息

属性:
属性名称 类型 可选 默认值 描述信息
image string <可选>

粒子的图片URL

emitter Cesium.ParticleEmitter <可选>
new Cesium.CircleEmitter(1.0)

粒子发射器

emissionRate number <可选>
100

发射速率 (单位:次/秒)

heading number <可选>
0

方向角 (度数值,0-360度)

pitch number <可选>
0

俯仰角(度数值,0-360度)

roll number <可选>
0

翻滚角(度数值,0-360度)

gravity number <可选>

重力因子,会修改速度矢量以改变方向或速度(基于物理的效果)

transX number <可选>
0

粒子在X轴方向上的偏离距离(单位:米)

transY number <可选>
0

粒子在Y轴方向上的偏离距离(单位:米)

transZ number <可选>
0

粒子离地高度(单位:米),粒子在Z轴方向上的偏离距离

maxHeight number <可选>

最大视角高度(单位:米),超出该高度不显示粒子

particleSize number <可选>
25

粒子大小(px),粒子图片的Size大小(单位:像素)

imageSize Cesium.Cartesian2 <可选>

粒子图片的Size大小,可以设置高宽不同(单位:像素),与particleSize二选一

minimumImageSize Cesium.Cartesian2 <可选>

最小大小,设置最小边界,宽度和高度,在此之上随机缩放粒子图像的像素尺寸

maximumImageSize Cesium.Cartesian2 <可选>

最大大小,设置最大边界,宽度和高度,在其以下随机缩放粒子图像的像素尺寸

scale number <可选>

比例,设置在粒子生命周期内应用于粒子图像的比例

startScale number <可选>
2.0

开始比例,粒子在出生时的比例(单位:相对于imageSize大小的倍数)

endScale number <可选>
4.0

结束比例,粒子在死亡时的比例(单位:相对于imageSize大小的倍数)

color Cesium.Color <可选>
Color.WHITE

颜色,设置一个粒子在其生命周期内的颜色

startColor Cesium.Color | string <可选>

开始颜色,粒子出生时的颜色

endColor Cesium.Color | string <可选>

结束颜色,当粒子死亡时的颜色

speed number <可选>

速度(米/秒), 如果设置,则使用此值覆盖最小速度和最大速度输入

minimumSpeed number <可选>
1.0

最小速度,设定以每秒米为单位的最小范围,超过这个范围粒子的实际速度将被随机选择

maximumSpeed number <可选>
2.0

最大速度(米/秒),设定以每秒米为单位的最大范围,低于这个范围粒子的实际速度将被随机选择

particleLife number <可选>
5.0

寿命时间(秒), 如果设置了这个值,将覆盖minimumParticleLife和maximumParticleLife输入

minimumParticleLife number <可选>
3

最小寿命时间, 设定一个粒子生命可能持续时间的最小界限(以秒为单位),在此之上一个粒子的实际生命将被随机选择

maximumParticleLife number <可选>
6

最大寿命时间, 设置一个粒子生命可能持续时间的最大界限(以秒为单位),低于这个时间的粒子的实际生命将被随机选择

mass number <可选>
1.0

质量(千克),设定粒子的最小和最大质量

minimumMass number <可选>

最小质量,设定粒子质量的最小边界,一个粒子的实际质量将被选为高于这个值的随机数量

maximumMass number <可选>

最大质量,设置粒子的最大质量,一个粒子的实际质量将被选为低于这个值的随机数量

loop boolean <可选>
true

粒子系统完成后是否应该循环爆发

bursts Array.<Cesium.ParticleBurst> <可选>

周期性发射粒子爆发数组

sizeInMeters boolean <可选>

大小模式,设置粒子的大小是米还是像素。true以米为单位设置粒子的大小;否则,大小以像素为单位。

lifetime number <可选>
number.MAX_VALUE

释放粒子的时间(秒)

//以下是Billboard参数(ParticleSystem底层是很多Billboard构成)

visibleDepth boolean <可选>
true

是否被遮挡

disableDepthTestDistance number <可选>

指定从相机到禁用深度测试的距离。

参考:
  • Cesium.ParticleSystem