使用 Google Draco 压缩你的模型

使用 Google Draco 压缩,本文章包括 Google Draco 的使用方法, 编译步骤以及提供在游戏引擎 Unity 中使用的源代码。

4iFuDy9.jpg

使用 Google Draco 压缩
项目地址; https://github.com/google/draco

jI2HR1m.png

编译及使用步骤 (Windows)
下载 CMake https://cmake.org/
安装后出现如下界面,配置所指定的路径,① 为项目的根目录, ② 为自己指定 Build 目录。

点击 Configure 配置

nLSXKeR.png

配置完成后 (Configuring done)点击 Generate 生成项目 (Generating done)
配置时,会出现

h2DSxsy.png

选择与你相符的设定

dr89kwq.png

使用 Visual Studio 编译

编译后 在 \draco\Build\Release 文件夹内会出现可执行文件

7l9TBeA.png

下載编译后的可执行文件示例: releases

在文件夹中打开 CMD 输入 draco_encoder.exe 会弹出使用主要选项:

  -h | -?               show help. (查看帮助)
  -i <input>            input file name. (输入文件名称)
  -o <output>           output file name. (输出文件名称)
  -point_cloud          forces the input to be encoded as a point cloud.
  -qp <value>           quantization bits for the position attribute, default=14.
  -qt <value>           quantization bits for the texture coordinate attribute, default=12.
  -qn <value>           quantization bits for the normal vector attribute, default=10.
  -qg <value>           quantization bits for any generic attribute, default=8.
  -cl <value>           compression level [0-10], most=10, least=0, default=7.
  --skip ATTRIBUTE_NAME skip a given attribute (NORMAL, TEX_COORD, GENERIC)
  --metadata            use metadata to encode extra information in mesh files.

Use negative quantization values to skip the specified attribute(使用负量化值来跳过指定的属性)

OG73FpV.png

如果你要压缩的文件名为 1.obj
压缩后的名字叫 1.drc
输入以下命令
draco_encoder.exe -o "1.drc" -i "1.obj"
你会发现文件夹中已经出现你压缩好的文件 1.drc

可以明显看出 104M 的 obj 模型 压缩到1.~ M

nRbIGH1.png

在 Unity 中使用,项目示例:https://github.com/unusme/Draco_Unity

发表评论

电子邮件地址不会被公开。 必填项已用*标注