首页 > 其他 > 详细

Cesium 粒子

时间:2021-05-23 15:10:31      阅读:21      评论:0      收藏:0      [点我收藏+]

鼠标左键单击实现添加 粒子特效,右击停止添加

代码如下:

function fireadd() {
   
     
     
	var firejingdu = 116.6554885;
	var fireweidu = 39.5454545;
	var fireheight = 0;
	var firedata;
	var boolen = true;
	//获取事件触发所在的  html Canvas容器
	firecanvas = viewer.scene.canvas;
	var handler = new Cesium.ScreenSpaceEventHandler(firecanvas);
	handler.setInputAction(function(evt) {
   
     
     
		var pickedObject = viewer.scene.pick(evt.position);
		var cartesian = viewer.scene.pickPosition(evt.position);
		if (Cesium.defined(cartesian)) {
   
     
     
			var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
			var lng = Cesium.Math.toDegrees(cartographic.longitude);
			var lat = Cesium.Math.toDegrees(cartographic.latitude);
			var height = cartographic.height; //模型高度  
			firedata = new Cesium.ParticleSystem({
   
     
     
				image: ‘./img/fire1.png‘,
				startColor: Cesium.Color.RED.withAlpha(0.7),
				endColor: Cesium.Color.YELLOW.withAlpha(0.3),
				startScale: 0,
				endScale: 10,
				//设定粒子寿命可能持续时间的最小限值(以秒为单位),在此限值之上将随机选择粒子的实际寿命。
				minimumParticleLife: 1,
				maximumParticleLife: 6,
				minimumSpeed: 1,
				maximumSpeed: 4,
				imageSize: new Cesium.Cartesian2(20, 20),
				// Particles per second.
				emissionRate: 4,
				lifetime: 160.0,
				emitter: new Cesium.CircleEmitter(5.0),
				modelMatrix: Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Cartesian3.fromDegrees(lng, lat,
					height)), //从模型转化成世界坐标

			});
			handler.setInputAction(function(click) {
   
     
     
				boolen = false
			}, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
			var firetileset1 = viewer.scene.primitives.add(firedata);
			firetileset1.show = boolen;

		}
	}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
}

清除粒子特效:
第一种清除单个:

scene.primitives.remove(firedata);
第二种清除全部:
scene.primitives.removeAll();

说明一下:我这是在模型上面单击位置准确,如果你要在地图上位置准确修改获取经纬度方法

最后附上两张火焰照片

技术分享图片
技术分享图片

Cesium 粒子

原文:https://www.cnblogs.com/hustshu/p/14800756.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!