three.js能够加载处理过的三维模型数据,随着Cesium中可加载gltf的模型,three.js也能够进行支持,​​GIS开发:Threejs加载gltf模型​​,加载比较小的几个是没问题的,这里批量加载了一些量比较大的模型进行测试。

gltf是用blender进行导出的,直接导出的压缩格式,后缀名是.glb的。

  • 模型数量有500多个
  • 导出的.glb数据数据量总共1GB左右
  • 使用nginx进行模型数据发布
  • 循环使用THREE.GLTFLoader进行模型加载
  • 模型全部加载


模型加载完成的效果:

three.js:三维模型加载量测试_加载

模型的测试效果:

  • 本机测试,数据传输速度还是比较快的,不到1分钟加载完成
  • 加载的时候,场景移动有些卡顿,模型加载完成后,场景操作就比较流畅了
  • 性能消耗比较大,chrome的内存已经占用到4GB多了
  • 模型细节还原的真实度还是可以的


综述:

  • 使用three.js,很容易添加场景的一些光照和阴影等效果;
  • 制作一个小的三维场景还是可以的;
  • 每个模型上的效果,还是有API进行控制的;
  • 电脑性能还是要求比较高的,浏览器方面,还是chrome展现的最好;
  • 重复的对象,比如树木、路灯等小部件,加载一次模型,复制对象,设置位置,这样效率会高很多;
  • 优化方面,要想提高模型的加载量,可以根据视野动态加载、卸载模型数据,这要在基础上进一步开发;
  • 模型细节、贴图优化也是一方面,但是这样会降低模型的展示效果;
  • 功能方面,特别是gis方面,还是需要自己开发的。