A-frame 将 zip 包转换为 glb 用于草图工厂模型
Posted
技术标签:
【中文标题】A-frame 将 zip 包转换为 glb 用于草图工厂模型【英文标题】:A-frame convert zip package into glb for sketch fab model 【发布时间】:2021-06-27 17:49:43 【问题描述】:我最近一直在 A-frame 中进行编码,并且我一直在我的场景中使用 gltf 模型。我一直在使用 tinkercad 模型,因为我不知道如何将 sketchfab.com 模型放入我的代码中。当我从sketchfab.com 下载模型并按gltf 下载时,它给了我一个zip 文件夹。 zip 文件夹内有 2 个文件和一个文件夹。 Scene.glf 和 scene.bin 是文件,textures 是文件夹。我想把这个 zip 文件夹变成一个单独的 glb 或 gltf 文件。我将如何做到这一点?
【问题讨论】:
【参考方案1】:对于其他人的上下文,Sketchfab 返回类似...
model/scene.gltf
model/scene.bin
model/textures/diffuse.png
model/textures/normal.png
...scene.gltf
文件包含对其他文件的相对引用。 A-Frame 可以加载仅给出 .gltf
引用 as documented 的所有这些文件,只要它们托管在您的项目中类似的文件夹结构下:
<a-gltf-model src="assets/model/scene.gltf"></a-gltf-model>
将整个模型组合成一个独立的(二进制).glb
文件也很常见,这是一种“无损”更改,如果通过正确实现的工具完成,则不应以任何方式影响内容。两个简单的选项是glTF-Pipeline 或glTF-Transform。示例:
npm install --global @gltf-transform/cli
gltf-transform cp model/scene.gltf output.glb
另见https://glb-packer.glitch.me/,但它可能不适用于某些文件。
注意:虽然技术上可以创建一个独立的
.gltf
文件,而不是.glb
,但不要这样做。在 (JSON).gltf
文件中嵌入二进制资源会增加 20-30% 的文件大小并降低加载速度。 (二进制).glb
格式在这里更有效。
【讨论】:
以上是关于A-frame 将 zip 包转换为 glb 用于草图工厂模型的主要内容,如果未能解决你的问题,请参考以下文章
python 将pip安装的Python包目录转换为可导入的zip文件,以便在Google App Engine上使用。