gltf与glb格式转换 gltf-pipeline、binary-gltf-utils

gltf与glb格式转换

.gltf: Graphics Language Transmission Format(图形语言传输格式),本质是JSON文件,表示3D内容的场景,可以想象成3D图片;是一种3D的标准格式;

.glb: Graphics Lanuage binary,二进制的gltf文件;

1. gltf-pipeline

缺少啥model,使用npm install model_name

npm install fs-extra

  • -o 输出文件名
  • -b 输出glb,默认同路径下 name-processed.glt
  • -d draco压缩,使用默认参数

node gltf-pipeline.js -i D:\learn1\gltf\outputGLTF\9\9.gltf -b

node gltf-pipeline.js -i D:\learn1\gltf\outputGLTF\9\9.gltf -o D:\learn1\gltf\outputGLTF\9\9_d.gltf -d

gltf与glb格式转换 gltf-pipeline、binary-gltf-utils

2. binary-gltf-utils

3. obj23dtiles

obj2glb
obj2gltf

4. gltf.json与.glb对比

glb实质上是gltf.json+图片等资源打包后的二进制文件;

无图片情况glb会减少10%~40%左右;有图片情况下glb比gltf.json大至少1倍以上;

gltf转换glb,实质上是把gltf依赖的图片等全打包放进了glb中,所以对于没有照片的gltf基本会变小,依赖过多照片的其文件会变大;

使用Windows自带的 3DViewer渲染可以看的出来,gltf.json+依赖图片作为静态资源在同一个目录才可渲染,而glb可直接渲染;

glb无论放在哪个目录单独要给文件就可以渲染;

总体来说,gltf转换glb后,其文件大小有的变小(红色),有的变大(蓝色)。
gltf与glb格式转换 gltf-pipeline、binary-gltf-utils

使用Draco压缩算法回使生成的glb文件变小一点,尤其对于有顶点数据的gltf;
gltf与glb格式转换 gltf-pipeline、binary-gltf-utils

参考

上一篇:一篇光线追踪的入门


下一篇:APP测试常用工具以及框架