【问题标题】:How to load .glb models in a-frame?如何在框架中加载 .glb 模型?
【发布时间】:2019-02-21 06:14:52
【问题描述】:

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

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

基于文档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 模型始终使用与预期相同的技术。

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

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

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

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

有问题的模型可通过上述代码示例获得,但here is a direct link 为方便起见。

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

【问题讨论】:

    标签: three.js aframe gltf


    【解决方案1】:

    使用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 消息的原因

    【讨论】:

    • 啊哈!效果很好,非常感谢。我没有意识到我可以从 URL 中删除数字。再次感谢。
    猜你喜欢
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 2022-07-09
    • 2019-10-18
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 2012-10-06
    相关资源
    最近更新 更多