环境光主要用来营造场景整体的光线效果,比如阴、晴、日、夜、黄昏、黎明等,建筑物从而呈现不同环境下的光照效果,使场景更加逼真,接下来我们将使用环境光制作一个深夜场景。
一.核心接口介绍
环境光使用的接口是ambientLightColor,可从viewer.scene.lightSource中获取到,该接口所需要指定的是一个Cesium.Color对象,示范用法如下:
viewer.scene.lightSource.ambientLightColor = new Cesium.Color(0.4, 0.4, 0.4, 0.4);
二.制作深夜场景
1.把地球隐藏掉,让地面是一片黑色,关键代码:
viewer.scene.globe.show = false;
2.屏蔽掉太阳光的影响,核心代码:
viewer.scene.sun.show = false;
viewer.scene.globe.enableLighting = false;
3.关掉大气层,能直接看到黑色星空,核心代码:
viewer.scene.skyAtmosphere.show = false;
4.添加环境光,我们给一个全黑色的环境光,核心代码:
viewer.scene.lightSource.ambientLightColor = new Cesium.Color(0, 0, 0, 0.4);
5.添加场景数据,处理前后场景效果对比如下:
处理前:
处理后:
完整demo可以参考官方在线范例:http://support.supermap.com.cn:8090/webgl/examples/editor.html#tx_lightSource
按照上诉步骤添加核心代码即可做出深夜场景