A型框架将zip包转换为GLB,用于草图晶圆厂模型



我最近一直在A帧中编码,并且一直在场景中使用gltf模型。我一直在使用 tinkercad 模型,因为我无法弄清楚如何将 sketchfab.com 模型放入我的代码中。当我从 sketchfab.com 下载模型并按下载为 gltf 时,它会给我一个 zip 文件夹。zip文件夹内有2个文件和一个文件夹。Scene.glf和scene.bin是文件,纹理是文件夹。我想把这个zip文件夹变成一个唯一的glb或gltf文件。我将如何实现这一点?

对于其他人的上下文,Sketchfab返回类似...

  • model/scene.gltf
  • model/scene.bin
  • model/textures/diffuse.png
  • model/textures/normal.png

。其中scene.gltf文件包含对其他文件的相对引用。A-Frame 可以加载所有这些.gltf文件

,只要它们以类似的文件夹结构托管在项目中,只要它们以类似的文件夹结构托管在项目中即可:
<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格式在这里更有效。

最新更新