如何在框架中加载 .glb 模型?

How to load .glb models in a-frame?

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

components:gltf-model:warn Unexpected token g in JSON at position 0

根据文档 here and the discussion 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 and 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 at position 0 消息

的原因