之前实现一个空球,经常是初始化Viewer之后,再主动删除默认的底图
最近发现可以直接在new Viewer()的时候
就可以实现一个不带任何底图的空球
var viewer = new Cesium.Viewer("cesiumContainer", {
imageryProvider: false, //必须为false
baseLayerPicker: false, //必须为false
});
viewer.scene.globe.baseColor = Cesium.Color.GREEN; //改变空球的颜色
效果如下图:
此时,地球的底色并不是一致的
外围亮,中心暗,rgb值是不一样的
我们更进一步,弄一个各处rgb值都一样的地球
const scene = viewer.scene;
scene.globe.baseColor = Cesium.Color.GREEN; //改变空球的颜色
scene.globe.showGroundAtmosphere = false; //关闭地面大气层,可以解决中心暗,周围亮的问题
scene.skyAtmosphere.show = false; //关闭环绕地球那一圈的大气
下图为只关闭地面大气层的效果,可以看到“圆”的一圈还有光亮
下图为同时关闭地面大气层和天空大气层的效果
可以看到,是一个纯色的,rgb都是一个值的地球
上图留了一个疑惑点:
我给的是绿色——Cesium.Color.GREEN,rgb应该是(0,255,0)
为啥rgb的值却是(0,128,0)?
最后查了一下“16进制颜色代码表”
Green的定义就是(0,128,0)
(0,255,0)的名称是“酸橙色”
颜色参考链接: