three.js能够加载处理过的三维模型数据,随着Cesium中可加载gltf的模型,three.js也能够进行支持,GIS开发:Threejs加载gltf模型,加载比较小的几个是没问题的,这里批量加载了一些量比较大的模型进行测试。
gltf是用blender进行导出的,直接导出的压缩格式,后缀名是.glb的。
模型数量有500多个
导出的.glb数据数据量总共1GB左右
使用nginx进行模型数据发布
循环使用THREE.GLTFLoader进行模型加载
模型全部加载
模型加载完成的效果:
模型的测试效果:
本机测试,数据传输速度还是比较快的,不到1分钟加载完成
加载的时候,场景移动有些卡顿,模型加载完成后,场景操作就比较流畅了
性能消耗比较大,chrome的内存已经占用到4GB多了
模型细节还原的真实度还是可以的
综述:
使用three.js,很容易添加场景的一些光照和阴影等效果;
制作一个小的三维场景还是可以的;
每个模型上的效果,还是有API进行控制的;
电脑性能还是要求比较高的,浏览器方面,还是chrome展现的最好;
重复的对象,比如树木、路灯等小部件,加载一次模型,复制对象,设置位置,这样效率会高很多;
优化方面,要想提高模型的加载量,可以根据视野动态加载、卸载模型数据,这要在基础上进一步开发;
模型细节、贴图优化也是一方面,但是这样会降低模型的展示效果;
功能方面,特别是gis方面,还是需要自己开发的。