Threejs 中的 glTFLoader 与 ObjLoader?

jar*_*red 2 javascript three.js gltf

我一直使用 .obj 文件将模型加载到 Three.js 中。我在某处读到,首选方法是现在使用 .gltf。

当我开始这样做时,我意识到虽然使用 gltf 加载对象看起来确实很简单,但一旦对象放入内部, obj 似乎会更加灵活。

像:

  • 改变材料特性
  • 将阴影更改为平坦
  • 控制对象对特定输入的反应。

这些似乎都很难/在 gltf 中不受支持,您可以使用 obj 轻松完成它们。

gltf具体有什么好处?我假设文件大小,但似乎你必须放弃很多控制才能获得这种好处。

man*_*rax 5

我认为 .obj 与 gltf 相比没有任何优势。Obj 不容易支持层次结构.. 它不支持现代材质,没有着色器,没有灯光/相机.. 没有几何组。Obj 基本上是一种糟糕的格式,除了它是人类可读的(文本 gltf 也是)。另外.. gltf 支持网格压缩...压缩纹理格式。二进制缓冲区、带有嵌入资源的单个文件导出。Obj 格式来自 70 年代末的 iircs。Gltf 是实时 3D 领域 4 个几十年进步的产物,专为 Web 3D 资产交付而设计。