Unity3d版数字地球、谷歌地球(google earth)开发技术概述
好多朋友看了《Unity3d版数字地球、谷歌地球(google earth)》咨询三维数字地球相关技术,我专门写篇文章总结一下相关技术。需要补充的内容,欢迎留言。
-
基础知识
1.了解瓦片地图分级
2.了解各地图接口,包括图片及高程。如谷歌、bing,百度等。
基本原理
1.将瓦片拼成球形
2.将每个瓦片贴上地图。
3.根据高程数据,将每个瓦片生成Mesh,以表示地形的起伏。
三维地球的雏形就有了。
性能控制
性能控制是三维地球的关键,可以想象全球数据都一下加载进行,程序肯定就卡死了。解决的方法需要从多个角度入手。
一是减少数据的加载量,比较背对相机的数据就可以不加载或加载很少,在相机视野内的瓦片才加载。近处的瓦片加载得更细致,远处的瓦片加载得粗糙一些。
二是下载数据时,控制线程或协程的数量。如果几十个线程协程数量同时运行,电脑可能会跑不动。
三是及时清理不使用的资源。如果视野由北京跳转到四川,北京的资源要及时清理。