使用gltf-pipeline轉(zhuǎn)換gltf、glb模型文件
gltf-pipeline是cesium開發(fā),基于nodejs的一個開源的gltf、glb模型轉(zhuǎn)換工具:
支持將gltf文件轉(zhuǎn)換成glb文件,glb轉(zhuǎn)換成gltf文件;
將gltf、glb中的坐標信息和貼圖文件單獨保存出來;
將gltf v1版本的模型文件轉(zhuǎn)換成gltf v2版本的模型文件;
支持gltf模型的Draco壓縮??Cesium開發(fā):Draco模型壓縮
此工具支持在操作系統(tǒng)中全局安裝,以命令行的形式,進行操作使用,同時,也支持模塊的形式,在開發(fā)中,進行模塊的引用。
全局安裝方式:
npm install -g gltf-pipeline
gltf轉(zhuǎn)換成glb
gltf-pipeline -i model.gltf -o model.glb
gltf-pipeline -i model.gltf -b
glb轉(zhuǎn)換成gltf
gltf-pipeline -i model.glb -o model.gltf
gltf-pipeline -i model.glb -j
gltf Draco壓縮
gltf-pipeline -i model.gltf -o modelDraco.gltf -d
單獨輸出模型的貼圖文件
gltf-pipeline -i model.gltf -t
模塊引用,使用js調(diào)用
//gltf轉(zhuǎn)換成glb代碼:
const gltfPipeline = require('gltf-pipeline');
const fsExtra = require('fs-extra');const gltfToGlb = gltfPipeline.gltfToGlb;const gltf = fsExtra.readJsonSync('model.gltf');
gltfToGlb(gltf)? ?.then(function(results) {
? ? ? ?fsExtra.writeFileSync('model.glb', results.glb);
});
更多的使用方式,參見官方文檔的說明。
參考文檔:
https://cnpmjs.org/package/gltf-pipeline