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