在threejs中使用glTFLoader与ObjLoader?

时间:2019-07-02 00:24:53

标签: javascript three.js gltf

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

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

诸如:

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

所有这些似乎都很困难/在gltf中不支持,您可以使用obj轻松地完成这些操作。

gltf的好处是什么?我假设文件大小,但似乎您必须为此放弃很多控制。

1 个答案:

答案 0 :(得分:2)

我没有想到.obj vs gltf的优势。 Obj不容易支持层次结构..它不支持现代材料,不着色器,不包含灯光/摄影机..没有几何组。 Obj基本上是一种可怕的格式,除了它是人类可读的(gltf文本也是)。另外.. gltf支持网格压缩。压缩纹理格式。二进制缓冲区,具有嵌入式资源的单个文件导出。 Obj格式来自70年代后期的iircs。 Gltf是实时3d历经4年发展的产物,并且是专为Web 3d资产交付而设计的。