Я загружаю файл obj
и преобразую его в файл glb
на three.js
.Поэтому я хотел сжать файл, используя Draco encoder
, но я знал только, как сжать его, используя cmd
.Есть ли способ сжать, используя node.js
?
отредактировано
Я решил это сам.Метод был прост.Я просто установил это .И мой код здесь.
const gltfPipeline = require('gltf-pipeline');
const fsExtra = require('fs-extra');
const path = require('path');
const glbToGltf = gltfPipeline.glbToGltf;
const processGltf = gltfPipeline.processGltf;
const glb = fsExtra.readFileSync(path.resolve(__dirname+'/../public/glbFiles/' + req.filename));
const options = {
dracoOptions: {
compressionLevel: 10
}
};
glbToGltf(glb)
.then(gltf => {
processGltf(gltf.gltf, options)
.then(results => {
fsExtra.writeJsonSync(path.resolve(__dirname + '/../public/compressionFiles/' + req.filename.split('.')[0] + '.gltf'), results.gltf);
});
});
Я надеюсь, что вы также можете решить эту проблему.Давай!