Cesium禁止相機進入地下 地形穿透 問題

2021-09-07 19:54:48 字數 1557 閱讀 7322

cesium的地形圖中,滾動滑鼠滾輪會出現cesiumviewer進入地形之下,出現格網

如下圖所示

在設定了scene.screenspacecameracontroller.minimumzoomdistance=100;

之後,在地形還在載入的過程中旋轉地球,依然會出現上述問題。

注意:版本號1.47.0測試成功 其他1.xx版本相差不太大

先是會出現部分格網,但是會載入對應的視角的地形。之前是一直出現格網不會載入地形的。效果受電腦配置影響。

監控相機的pitch值

pitch>0的時候就禁止地球旋轉事件

監控滑鼠滾輪按下的滑鼠移動事件

當滑鼠朝下移的時候就允許地球旋轉

具體**

//初始化地球

var viewer = new cesium.viewer('cesiumcontainer',)
//相機的pitch值大於0則禁止球旋轉操作

var scene = viewer.scene;

var canvas = viewer.canvas;

var camera = viewer.camera;

scene.screenspacecameracontroller.minimumzoomdistance=100; //距離地形的距離?這個值可以多測試幾個值,,我這不太好描述

viewer.clock.ontick.addeventlistener(function () )

var setmincamera = function ()

}

//監控滑鼠滾輪按下狀態下移動滑鼠事件,當滑鼠向下移動的時候就允許地球旋轉操作

var startmouseposition;

var mouseposition;

var handler = new cesium.screenspaceeventhandler(canvas);

handler.setinputaction(function(movement)

}, cesium.screenspaceeventtype.mouse_move);

}, cesium.screenspaceeventtype.middle_down);

至此相機操作不會再進入地下或者地形裡面,個人發現和那個minimumzoomdistance=100有關係,不會出現格網,而是緩慢載入對應視角的地圖情況。效果如下圖所示:

地形載入過程中:

載入完成

如果沒有解決地形格網,則格網將一直存在,解決後將載入對應視角的地形情況,如下圖

cesium 相機跟隨

一場大的颱風,路徑通常很長,可能從靠近赤道的太平洋一直往北吹到東三省。跨度這麼大,在三維gis中,往往不容易看全。如果能夠實現相機隨動效果,即相機跟隨颱風步進 移動,就生動許多了。感覺在cesium中,座標和視角 相機 view是乙個難點,我到現在都搞不清楚。方向 orientation 可以總結一...

Cesium引入Three同步相機

這個帖子講述了如何在在cesium引入three,總結一下原理就是 html中設定兩個容器分別用於容納cesium與three,且three容器在cesium容器下面,這樣才能讓three產生的場景覆蓋在cesium上,並且禁用three容器的滑鼠事件,通過cesium同步three。初始化ceiu...

Cesium 取相機飛行引數

heading 方位角 pitch 傾角 roll 旋轉角 range 距離中心距離 let opt let entity new cesium.entity viewer.entities.add entity 1.viewer.zoomto viewer.zoomto entity 或者 vie...