随着地球的自传,太阳照射在建筑物上的影子也随便变化而变化;
1、实现思路
先添加建筑物3dtiles模型;
var tmp_tileset = this.model.add3DTiles(
url,
id,
function (tmp_tileset) {
if (height) {
window.model.adjuest3DtilesVerticalPosition(tmp_tileset, height);
} else {
window.model.adjuest3DtilesVerticalPosition(tmp_tileset, -2);
}
}
);
2、可以设置时间、透明度、速度等相关参数
设置好相关的参数点击开始分析
startSunshine(option) {
this.viewer.scene.globe.enableLighting = true
this.viewer.shadows = true
this.viewer.terrainShadows = Cesium.ShadowMode.RECEIVE_ONLY
this.viewer.shadowMap.darkness = option.darkness //阴影透明度--越大越透明
let time = 0
this.inter = setInterval(() => {
let date = option.date + time;
if (null == option.date) { //时间传空的时候,就从当前时间开始
date = new Date().getTime() + time
}
let utc = Cesium.JulianDate.fromDate(new Date(date))
this.viewer.clockViewModel.currentTime = Cesium.JulianDate.addHours(utc, 0, new Cesium.JulianDate())
time = time + 1000 * 60
}, option.speed)
}
移除分析
clearOpenLight() {
this.viewer.scene.globe.enableLighting = false
this.viewer.shadows = false
this.viewer.terrainShadows = Cesium.ShadowMode.DISABLED
if (this.inter) {
clearInterval(this.inter)
this.inter = null;
}
}