three.js - 如何在a-frame中加载.glb模型?

标签 three.js aframe gltf

我尝试使用 gltf-model 组件在框架中加载 .glb 模型,但出现以下错误;

components:gltf-model:warn JSON 中位置 0 出现意外标记 g

基于文档 here和讨论here我相信我这样做是正确的。请参阅下面我的代码。

  <a-scene>
      <a-assets>

        <a-asset-item 
          id="glbtestmodel"
          src="https://cdn.glitch.com/90a30469-f038-4054-be9c-fd1ec94a810d%2Fkitchentest.glb?1537178470645">
        </a-asset-item>

      </a-assets>

      <a-entity 
          id="glbtest"
          gltf-model="#glbtestmodel"
          position="0 1 -2">
      </a-entity>

    </a-scene>

使用框架8.2

https://aframe.io/releases/0.8.2/aframe.min.js

你可以看到 here 的一个小故障.

我使用Vectary导出模型,从那里导出的 gltf 模型始终使用与预期相同的技术。

作为从 vectary 导出 .glb 的替代方案,我尝试将模型导出为 gltf,然后使用建议的工具(如 this)进行转换。和 this 。结果是一样的。

我以任何方式导出的每个模型,我都会使用this gltf-viewer tool进行检查。并且没有错误。我已打开该文件,它们应为 2.0 格式。

为了响应该错误,我还尝试打开 .glb 文件并修改它,删除初始字符,以便它与 gltf 文件的开头匹配但它只会产生不同的错误。

这是一个已知问题吗?还是我做错了什么?

有问题的模型可以通过上面的代码示例获得,但是 here is a direct link为了方便。

如果您需要我提供更多信息来提供建议,请告诉我。

最佳答案

使用https://cdn.glitch.com/90a30469-f038-4054-be9c-fd1ec94a810d%2Fkitchentest.glb而不是https://cdn.glitch.com/90a30469 -f038-4054-be9c-fd1ec94a810d%2Fkitchentest.glb?1537178470645。加载程序使用文件扩展名来确定文件是 JSON (gltf) 还是二进制 (glb)。该数字会混淆解析器并遍历 JSON 路径,这就是为什么您会收到 components:gltf-model:warn Unexpected token g in JSON atposition 0 消息

关于three.js - 如何在a-frame中加载.glb模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52365742/

相关文章:

three.js - 为什么在三个js中增加对象的比例时fps会下降

javascript - 在 python-vtk/three.js 中居中多数据模型的轴/枢轴

Aframe 和 aframe-ar : display video stream in div instead of fullscreen

框架/动画 : how to pause and resume?

javascript - 使用 Three.js 更改 a-frame 场景中 gltf-model 的位置

javascript - PhysiJS:如何获得旋转物体上给定点的线速度

javascript - OrbitControls 和 dat.gui 文本不起作用

three.js - 如何让经过 gltfpack 处理的模型出现在 A-Frame 中?

aframe - A 形框架 - glTF - 未找到资源

gltf - 如何正确解释 gltf 文件中的数据?