模型压缩一般有两种路线,一个是减小网格体的顶点和面数,一个是减小纹理材质的贴图
本文将会使用https://github.com/CesiumGS/gltf-pipeline提供的工具进行GLTF模型的压缩。按照官网的步骤安装即可(一定要有Nodejs)
官网有常用命令介绍,可以使用他们进行模型的转换和压缩。
我将介绍官网没有提及的压缩方式,原因是我使用官网命令压缩,模型压缩率很有限,甚至会发生模型变大的情况。
首先使用:gltf-pipeline -i model.gltf -t 命令模板,将纹理材质图片单独输出
然后发现模型的纹理材质图片非常大,有的分辨率1024 * 1024,还有的能达到4096 * 4096,造成图片最大的可以达到20M,而模型的网格体本身并不大也就几百k。
用最土但也是最不需要安装第三方软件的方式--画图板,挨个将纹理材质图片的尺寸缩小到25%的长宽比例。最直观的就是图片体积普遍缩小1/10。
最后使用:gltf-pipeline -i model.gltf -o model.glb 命令模板,将分离的模型文件和纹理材质文件统一打包转为单体glb文件。 差不多从55M缩小到了5.6M大小,而模型打开后的视觉效果并没有什么差异。