由群里小伙伴推荐的google的非常非常牛逼的3D模型压缩算法 -- DRACO。使用之后感觉确实好厉害,上一篇说到的模型是6.9MB,使用了这个算法工具后压缩到了210KB左右,简直就是奇迹啊。。。。
先附上:draco的Github地址
代码clone下来后先要编译,因为是mac系统,我就说下mac上怎么做的吧。可能是我没用过Xcode,按照文档中mac的编译方式一直没成功,后来直接输入命令cmake path/to/draco和make -f Makefile.emcc就得到了两个工具 draco_decoder 和 draco_encoder。
好了,可以开始压缩了。基本命令是 ./draco_encoder -i XXX.obj -o XXX.drc 把你的obj文件压缩成drc文件。接下来就是加载模型了。源码的javascript/example目录下提供了DRACOLoader这个threejs的插件和相关例子,具体用法直接看里面的例子吧。
加载完成后如果有模型贴图,那就用threejs加载贴图的TextureLoader在加载一下贴图,添加到模型的材质上。
只想说谷歌太牛牛牛了。。。。
这里插一句,在看example的时候发现有另外一个很高端的东东——WebAssembly。有兴趣的可以百度下,能够让JavaScript干掉安卓和IOs的利器。