好多朋友看了《Unity3d版數字地球、谷歌地球(google earth)》諮詢三維數字地球相關技術,我專門寫篇文章總結一下相關技術。需要補充的內容,歡迎留言。
-
基礎知識
1.瞭解瓦片地圖分級
2.瞭解各地圖接口,包括圖片及高程。如谷歌、bing,百度等。
基本原理
1.將瓦片拼成球形
2.將每個瓦片貼上地圖。
3.根據高程數據,將每個瓦片生成Mesh,以表示地形的起伏。
三維地球的雛形就有了。
性能控制
性能控制是三維地球的關鍵,可以想象全球數據都一下加載進行,程序肯定就卡死了。解決的方法需要從多個角度入手。
一是減少數據的加載量,比較背對相機的數據就可以不加載或加載很少,在相機視野內的瓦片才加載。近處的瓦片加載得更細緻,遠處的瓦片加載得粗糙一些。
二是下載數據時,控制線程或協程的數量。如果幾十個線程協程數量同時運行,電腦可能會跑不動。
三是及時清理不使用的資源。如果視野由北京跳轉到四川,北京的資源要及時清理。