Cesium中簡單的LOD動態載入大量三維模型
Cesium中提供了三維模型載入API,但是很顯然一般三維場景的模型成千上萬,如果單純採用預設的三維模型載入方案會出現瀏覽器吃不消致使崩潰或者高延遲低幀率等影響正常視覺化互動的問題。誠然官方團隊已經開始了一個號稱革新技術的3Dtiles的三維模型批量載入處理方案,但目前其一直還在開發中,而且也還沒有看到一個數據處理專案,當然github上的相關分支中也能看到執行不錯的例子了。從一個公司或者一個團隊自己的應用開發角度出發,能夠擁有自己可以控制的三維模型載入方式的好處是不言而喻的,一方面可以很好的做到業務流程的控制,另方面顯然的對自己的業務資料也有一定的保密作用。3Dtile的實施方法其實就是為批量模型載入新增一個快速索引和資料集的整體性描述,從而減少渲染迴圈中需要處理的實體資料量,最終實現三維模型載入效率的提升。
在最近閒暇時完成了簡單的LOD動態載入大量三維模型核心程式碼擴充套件。目前單純採用的是R樹索引,支援動態資料的加入和剔除,可配置為無快取和快取兩種模式,無快取模式是動態排程資料並剔除視野範圍內的資料的,這樣的好處是減低Cesium在載入範圍三維模型時的資源消耗,當然這樣資料資源的釋放會增加網路負擔和因為資料載入帶來的資料延遲;為了能更好的節省網路開銷和一定程度上提高資料的互動能力,本擴充套件也支援快取模式,即資料一經載入其所佔資源並不釋放而只控制其資料的渲染與否。效果如下面幾圖展示。
這些圖片截自於個人錄製的LOD展示視訊,實驗資料是從某位朋友那裡拿到的費城區域部分資料,大約有430+的模型,懶得上傳到視訊網上了,這裡給一個百度網盤地址,有興趣可以下載下來看下:http://pan.baidu.com/s/1boijkwn
注意:很多朋友看了這個部落格 以為我用的3DTiles 但是如果對Cesium 3DTiles技術比較清楚的朋友應該知道 這個部落格發表時 Cesium官網雖然公開討論過3DTiles但相關的工具是沒有的 這個是我自己定義的載入機制 同理通過自定義的載入機制 我也成功流暢的載入了傾斜攝影測量三維模型(希望有時間能把這個整理下也發表個博文吧)
本人長期承接三維GIS視覺化專案,提供3DTiles/大範圍Gltf資料處理與加工服務