首页 > 解决方案 > 如何在框架中加载 .glb 模型?

问题描述

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

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

根据此处的文档和此处的讨论我相信我这样做是正确的。请在下面查看我的代码。

  <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

你可以在这里看到一个小故障。

我使用Vectary导出模型,gltf从那里导出的模型总是使用与预期相同的技术工作。

作为.glb从 vecary 导出的替代方法,我尝试将模型导出为gltf,然后使用建议的工具(如thisthis )转换它们。结果是一样的。

我以任何方式导出的每个模型,我都使用这个 gltf-viewer 工具进行检查,并且没有错误。我已经打开了文件,它们的2.0格式应该是这样的。

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

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

有问题的模型可通过上述代码示例获得,但为了方便起见,这里有一个直接链接。

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

标签: three.jsaframegltf

解决方案


Use https://cdn.glitch.com/90a30469-f038-4054-be9c-fd1ec94a810d%2Fkitchentest.glb instead of https://cdn.glitch.com/90a30469-f038-4054-be9c-fd1ec94a810d%2Fkitchentest.glb?1537178470645. The loader uses the file extension to determine if the file is JSON (gltf) or binary (glb). The number confuses the parser and goes through the JSON path, that's why you get the components:gltf-model:warn Unexpected token g in JSON at position 0 message


推荐阅读