Cesium particleSystem
作者:互联网
Cesium粒子系统的应用
#ParticleEmitter粒子发射方式
四种方式:
- BoxEmitter(dimensions) 发射范围是一个盒子 参数,Cartesian3格式 The width, height and depth dimensions of the box.
- CircleEmitter(radius)
- ConeEmitter(angle)
- SphereEmitter(radius)
# updateCallback(particle, dt)
Scene/ParticleSystem.js 786function 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); }
#构建particleSystem的四项内容
可以分为四个部分:particle apperance,emitter,particle behavior,particle sysetem
#HTMLCanvasElement.getContext()
方法
- 上下文类型(contextType)
- 是一个指示使用何种上下文的
DOMString
。可能的值是:"2d
", 建立一个CanvasRenderingContext2D
二维渲染上下文。 "webgl"
(或"experimental-webgl"
) 这将创建一个WebGLRenderingContext
三维渲染上下文对象。- 只在实现WebGL 版本1(OpenGL ES 2.0)的浏览器上可用。"
webgl2
" (或 "experimental-webgl2
") 这将创建一个WebGL2RenderingContext
三维渲染上下文对象。 - 只在实现 WebGL 版本2 (OpenGL ES 3.0)的浏览器上可用。
"bitmaprenderer"
这将创建一个只提供将canvas内容替换为指定ImageBitmap
功能的ImageBitmapRenderingContext
- #void ctx.arc(x, y, radius, startAngle, endAngle, anticlockwise);canvas创建圆弧
标签:particle,Cartesian3,Cesium,position,gravityVector,上下文,particleSystem 来源: https://www.cnblogs.com/xiaoguniang0204/p/11803338.html