Cesium粒子系统

您所在的位置:网站首页 imagesize单位 Cesium粒子系统

Cesium粒子系统

2024-05-02 22:17| 来源: 网络整理| 查看: 265

最近因为工作原因,对于Cesium的粒子系统进行了研究(除了雨雪效果)。发现新手想要用好粒子效果还是有一定的难度的,因此希望通过这篇文章能够尽可能的帮助到大家。

首先向大家介绍一下Cesium粒子系统中的参数。

show:粒子系统是否显示,若显示则发射、更新粒子 updateCallback:回调函数,参数是(particle,dt),分别是单个粒子的属性和两次发射之间的时间间隔(单位:s) image:粒子系统发射的粒子图片,可以是canvas、image路径(base64还没有试过) emitter:粒子发射器的种类,有[BoxEmitter][CircleEmitter][ConeEmitter][SphereEmitter]四种可选. [CircleEmitter]:是一个圆形的发射器,粒子初始位于圆面上,初始速度方向平行于modelMatrix Z轴的方向 [SphereEmitter]:是球形的发射器,粒子初始位于球体中,初始速度向着球体外四面扩散 modelMatrix:粒子系统的矩阵,控制着粒子系统的位置以及部分粒子发射器的朝向 emitterModelMatrix:这个可以作为上一个粒子系统相对位置的偏移,至于旋转,考虑到计算量,就直接抛给modelMatrix来进行吧 emissionRate:粒子发射器的发射速率,单位:次/s bursts:控制粒子发射器爆发的数组 [time]:发射的时间(相对于lifetime),单位:s [minimum]:一次爆发,最少发射的粒子数量 [maximum]:一次爆发,最大发射的粒子数量 lifetime:粒子系统的生命周期,主要是用来控制bursts的发射周期 scale:粒子的比例(相对于imageSize的倍数),若不设置startScale、endScale,则后两者相等 startScale:粒子的初始比例 endScale:粒子在结束时的比例 color:粒子的颜色(需要与image进行混合才能得到最后显示的效果),若初始和结束颜色不同,则通过在rgba进行线性插值得到最后的结果 startColor:粒子的初始颜色 endColor:粒子的结束颜色 imageSize:图片的大小Cartesian2(imageSize, imageSize),单位(pixel) ,粒子的大小是在最大和最小的图片大小之间通过随机得到,下同 minimumImageSize: Cartesian2(minimumImageSize, minimumImageSize) maximumImageSize: Cartesian2(maximumImageSize, maximumImageSize) speed:粒子的初速度,方向见emitter minimumSpeed:粒子可能的最小初速度 maximumSpeed:粒子可能的最大初速度 particleLife:单个粒子存在的时间 minimumParticleLife:粒子可能存在的最长时间 maximumParticleLife:粒子可能存在的最短时间

关于lifetime和bursts,我们以沙盒中提供的Particle System作为介绍

bursts: [ new Cesium.ParticleBurst({ time: 5.0, minimum: 10, maximum: 100, }), new Cesium.ParticleBurst({ time: 10.0, minimum: 50, maximum: 100, }), new Cesium.ParticleBurst({ time: 15.0, minimum: 200, maximum: 300, }), ], lifetime: 16.0

在这里,粒子的生命周期为16s,而粒子会在5s、10s、15s时分别进行一次粒子大爆发;随后到了16s,粒子的生命周期重新刷新为0s,在新的生命周期中,粒子会继续在5s、10s、15s爆发

接下来会为大家介绍沙盒中Particle System FireWorks和Particle System Tails的原理



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3