Могу ли я сжать GLB-файл, используя кодировщик draco с node.js? - PullRequest
2 голосов
/ 24 мая 2019

Я загружаю файл 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);
        });
  });

Я надеюсь, что вы также можете решить эту проблему.Давай!

1 Ответ

0 голосов
/ 24 мая 2019

Использование модуль npm

или

Преобразование DRACOExporter из / examples / js / exporters в модуль

...