如何在A-Frame中加载.glb模型?

3
我正在尝试使用“gltf-model”组件在A-frame中加载“.glb”模型,但是我遇到了以下错误:
“components:gltf-model:warn 在JSON的位置0处出现意外的标记g”
根据文档讨论,我相信我的操作是正确的。请查看我的代码如下。
  <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>

使用 a-frame 8.2

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

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

我使用 Vectary 导出模型,从那里导出的 gltf 模型总是按照预期的方式使用相同的技术。

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

无论我以什么方式导出每个模型,我都使用 this gltf-viewer tool 进行检查,没有错误。我已经打开了文件,它们是应该是 2.0 格式。

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

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

有关此问题的模型可通过上面的代码示例获得,但为方便起见,这里是直接链接

如果您需要更多信息来帮助指导,请告诉我。

1个回答

8
请使用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中去掉数字。再次感谢。 - Nick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接