Three.js - 用于大网格的BinaryLoader与BufferGeometry?

Sim*_*mon 5 mesh webgl three.js buffer-geometry

我正在寻找一种最有效的方法来将大型多边形网格(最多1M个三角形)加载到Three.js.我正在考虑使用THREE.BufferGeometry对象或加载THREE.BinaryLoader.我的问题是:

  • BinaryLoader.js是否THREE.BufferGeometry在下面创建了一个对象?或者它是否创造了同样有效的东西?
  • 如果没有,是否有人建议使用哪一个?

一些额外的信息:

  • 我的模型在服务器上采用专有格式,因此无论如何我都需要转换/编码它们.
  • 我还没有找到一个创建一个的Three.js加载器THREE.BufferGeometry.看起来我需要自己编写.但我可以准备服务器端的数据与THREE.BufferGeometry结构对齐.
  • BinaryLoader.js提供了加载数据所需的所有基础结构,但需要在服务器端以特殊方式准备数据.

Yas*_*sha 2

看一下适用于 Three.js 的 glTF 格式和 glTFLoader。它使用 BufferGeometry。性能好很多;但是,它实现了自己的动画(不使用 THREE.Animation),并且我遇到了一些与 Three.js 相关的问题,例如克隆模型不起作用(至少开箱即用)

glTF:https: //github.com/KhronosGroup/glTF

glTFLoader:https://github.com/mrdoob/ Three.js/blob/54a1e789c3a84557d6b05782f5cbd9f1064f5e4f/examples/js/loaders/GLTFLoader.js