动画实现方式通过多个canvas实现,参考的https://www.yueyanshaosun.cn/ysCesium/views/5_geometricObj2_entityCanvas.html
探测效果实现步骤:
1、创建Cylinder圆锥体;
2、设置材质的贴图为动态属性,实现动态探测,但方向不变;
3、动态修改圆锥体长度length、位置position、朝向orientation,让圆锥体沿着顶点动起来;
4、去掉底部的纹理贴图,修改了cesium的源码实现。
第4步请教cesiumlab群,圆锥体是包含底面的,没有参数可以修改,只能动源码了,涉及的类包括:Core/CylinderGeometry.js、DataSources/CylinderGraphics,js、DataSources/CylinderGeometryUpdater.js
实现代码如下:
html部分:
1 <div id="cesiumContainer"></div> 2 <canvas id="canvas-a" width="400px" height="400px"></canvas> 3 <canvas id="canvas-b" width="400px" height="400px"></canvas> 4 <canvas id="canvas-c" width="400px" height="400px"></canvas>
三个canvas也可以通过js代码创建。
js部分:
1 Cesium.Ion.defaultAccessToken = ‘your token'; 2 var viewer = new Cesium.Viewer('cesiumContainer'); 3 viewer._cesiumWidget._creditContainer.style.display = "none"; 4 viewer.scene.debugShowFramesPerSecond = true; 5 6 //通过3个画布交替