使用draco算法对模型OBJ压缩及加载

由群里小伙伴推荐的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的利器。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,823评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,771评论 19 139
  • 111. [动画系统]如何将其他类型的动画转换成关键帧动画? 动画->点缓存->关键帧 112. [动画]Unit...
    胤醚貔貅阅读 14,533评论 3 89
  • 前端开发面试知识点大纲: HTML&CSS: 对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:...
    秀才JaneBook阅读 7,466评论 0 25