threeJs模型压缩、加载

压缩模型

安装压缩器

全局安装gltf-pipeline
git地址:https://gitee.com/apis-cloud/gltf-pipeline.git

1
sudo npm install -g gltf-pipeline

转换格式

如果是glb或fbx格式,首选需要转换格式glft,这个插件是自带格式转换的
在模型所在文件夹执行命令

1
gltf-pipeline -i model.glb -j

执行压缩

再执行压缩操作(model.gltf是转换格式后的文件名,modelDraco.gltf是压缩后的文件名)

1
gltf-pipeline -i model.gltf -o modelDraco.gltf -d -s

压缩后得到两个文件

  • modelDraco.gltf
  • modelDraco.bin

将两个文件放在DRACOLoader指定的文件夹即可

导入模型

最后使用DRACOLoader加载器加载压缩模型即可
点击下载WASM/JS解码库文件

1
2
3
4
5
6
7
8
9
var loader = new GLTFLoader() //创建模型加载器对象
var dracoloader = new DRACOLoader() //draco加载器(压缩模型解码器)
dracoloader.setDecoderPath( 'stl/' ) //指定包含WASM / JS解码库的文件夹的路径。
loader.setDRACOLoader( dracoloader )
loader.load("stl/modelDraco.gltf", gltf => {
gltf.scene.scale.set(10, 10, 10)
gltf.scene.position.set(0, -0.2, 0)
this.scene.add(gltf.scene)
})