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

问题描述 投票:1回答:1

我试图使用.glb组件在a-frame中加载gltf-model模型,但是我得到以下错误;

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模型总是使用与预期相同的技术。

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

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

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

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

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

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

three.js aframe gltf
1个回答
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消息的原因

© www.soinside.com 2019 - 2024. All rights reserved.