1、gltf 转 glb
//引入gltf pipline模块 const gltfPipeline = require("gltf-pipeline"); const fsExtra = require("fs-extra"); const gltfToGlb = gltfPipeline.gltfToGlb; //输入gltf文件路径 const gltf = fsExtra.readJsonSync("./input/model.gltf"); //转换成功路劲 const options = { resourceDirectory: "./input/" }; gltfToGlb(gltf, options).then(function (results) { fsExtra.writeFileSync("model.glb", results.glb); });
2、glb转gltf
const gltfPipeline = require("gltf-pipeline"); const fsExtra = require("fs-extra"); const glbToGltf = gltfPipeline.glbToGltf; const glb = fsExtra.readFileSync("model.glb"); glbToGltf(glb).then(function (results) { fsExtra.writeJsonSync("model.gltf", results.gltf); });
3、实现压缩gltf文件
const gltfPipeline = require("gltf-pipeline"); const fsExtra = require("fs-extra"); const processGltf = gltfPipeline.processGltf; const gltf = fsExtra.readJsonSync("model.gltf"); const options = { dracoOptions: { compressionLevel: 10, //压缩的级别 0-10 }, }; processGltf(gltf, options).then(function (results) { fsExtra.writeJsonSync("model-draco.gltf", results.gltf); });