Cesium开发:地下模式效果(续)
原创
©著作权归作者所有:来自51CTO博客作者GIS技术杂谈的原创作品,请联系作者获取转载授权,否则将追究法律责任
参加公众号文章:分享:实现Cesium的地下模式效果,这里主要是如何修改Cesium的源码,才能达到实现地下模式的效果。
修改完源码后,在执行地下模式的时候,设置地图的底色,要同步将地图影像进行半透明的操作,并且还要刷新一下影像图层,及时显示效果。
//设置地图basecolor为透明色
viewer.scene.globe.baseColor = new Cesium.Color(1, 1, 1, 0);
//循环设置影像的透明度
var _mapAlpha = 0.5;
if (viewer.imageryLayers) {
for (var i = 0; i < viewer.imageryLayers.length; i++) {
viewer.imageryLayers.get(i).alpha = _mapAlpha;
}
}
//刷新全部的影像切片
viewer.scene.globe._surface.invalidateAllTiles();
地表透明的效果,显示半地上地下

上图的效果中,实现了地下模式的透明,但是,地下还浮着一块阴影,这是Cesium自带的大气效果,需要关掉就不存在这种效果了。
viewer.scene.skyAtmosphere.show = false;

上图就不存在黑色阴影的问题,整个场景都变成黑色了,所以,在使用地图的时候,暗色系的底图,会显得很黑,看不清具体的效果。
当然要是有好的解决方案,可以留言提示。