我尝试使用 gltf-model
组件在框架中加载 .glb
模型,但出现以下错误;
components:gltf-model:warn JSON 中位置 0 出现意外标记 g
基于文档 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
,然后使用建议的工具(如 this)进行转换。和 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 atposition 0
消息
关于three.js - 如何在a-frame中加载.glb模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52365742/