three.js - 如何在框架中加载 .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
,然后使用建议的工具(如this和this )转换它们。结果是一样的。
我以任何方式导出的每个模型,我都使用这个 gltf-viewer 工具进行检查,并且没有错误。我已经打开了文件,它们的2.0
格式应该是这样的。
为了响应该错误,我还尝试打开.glb
文件并对其进行修改,删除初始字符,使其与gltf
文件的开头匹配,但它只会产生不同的错误。
这是一个已知的问题?还是我做错了什么?
有问题的模型可通过上述代码示例获得,但为了方便起见,这里有一个直接链接。
如果您需要我提供更多信息来提供建议,请告诉我。
解决方案
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
推荐阅读
- html - 使用文本和伪元素旋转 div?
- c++ - C++ uni 任务显示最远城市的最便宜机票
- c# - 光线投射鼠标位置以在 3D 网格上绘制
- javascript - 在 Angular 测试库测试中渲染 html 属性
- javascript - 试图打破这个承诺的例子
- pandas - 在 Python 中读取 TXT 或 DAT 文件
- vba - MS Access -“自从您开始编辑此记录以来,该记录已被其他用户更改”
- authentication - 在 GCP 环境外验证 Google Cloud 函数调用
- javascript - 使用 Ajax 选中复选框
- php - 如何在 laravel 中链接我的产品页面详细信息?