所在前面:地形数据也可以自己做,我先用Tiff在cesiumlab里面生成地形数据加载后发现会有很严重的裂缝。具体原因还不清楚听一位大佬说这是cesium的bug。
然后我又用了其他数据也是一样。最后我想直接把Cesium的地形数据缓存先来。
1缓存Cesium的地形数据:
这里我是借用的别人的软件(乔峰地图)下载的Cesium地形数据,软件我打包上传了,在哪里自己去我上传的资源里找也可以私信我。免费版的下载非常慢建议将范围缩小。
下载完后再cesium你调用发现不精地形连地图(我的地图也是自己缓存的天地图影像。具体怎么缓存看我上一篇)都没有了。
于是我把缓存的地形数据复制到之前cesiumlab生成的地形数据里进行替换。然后真的可以了,裂缝不见了。
2.cesium离线调用:
let terrainProvider = new Cesium.CesiumTerrainProvider({
url : '../src/data/terrain/zhonghe/'
});
let ellipsoidTerrainProvider = new Cesium.EllipsoidTerrainProvider();// 关闭地形
let viewer = new Cesium.Viewer('cesiumContainer', {
geocoder: false, //是否显示地名查找控件
infoBox: false,
animation: false, //是否显示动画控件(左下方那个)
timeline: false, //是否显示时间线控件
shadows: false, // 阴影是否被太阳投射
showldAnimate: true, //让场景中的动画自动播放
sceneModePicker: false, //是否显示投影方式控件
fullscreenButton: false, //全屏按钮不显示
homeButton: false,
navigationHelpButton: false,//帮助按钮
sceneMode: Cesium.SceneMode.SCENE3D,
scene3DOnly: true,//如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
imageryProvider: new Cesium.UrlTemplateImageryProvider({
url: "./src/data/img_w/{z}/{x}/{y}.png",
fileExtension: "png"
}),
terrainProvider: terrainProvider,
terrainExaggeration: 1,
});