资产压缩

在Verge3D中,可通过LZMA2算法高效压缩场景有效降低文件大小。同时,LZMA2提供了在浏览器端快速解压的解决方案。在Verge3D场景中的典型压缩率为:.gltf 文件20倍,.bin 文件6倍。

何时启用压缩

在以下情形中特别推荐使用资产压缩:

原始文件、GZIP压缩文件和LZMA2压缩文件的大小比较

导出压缩文件

Verge3D支持加载以 .xz 文件格式压缩的场景文件,其中包含LZMA2压缩算法。要在导出时自动创建 .xz 文件,只需在导出设置中打开相应的选项。

使用压缩文件

压缩过的 .xz 文件(例如, my_awesome_app.gltf.xzmy_awesome_app.bin.xz )会保存在原始文件目录下。下一步就只需在应用中启用加载它们了。在场景中启用加载这些压缩文件,您需要打开拼图…

...并切换到 init 标签:

如果工作区中还没有 configure application(配置应用) 拼图,把它从 初始化 | Initialization 类目中拖拽出来,并且启用其上的 compressed assets(压缩资产) 复选框:

最后,点击 Save 按钮即可。搞定!

检查文件

若要确认应用现在实际加载的是否为压缩资产,请(从应用管理器或部署应用的网站)运行应用,打开浏览器控制台并切换到 网络 选项卡。

重新加载应用以便控制台从头开始显示文件。在列表中找到场景文件——如果一切正常,它们应该以 .xz 结尾。

在Windows和Linux平台,Chrome,Firefox浏览器的控制台一般可用F12快捷键打开。在Mac电脑中,Chrome使用 View > Developer > JavaScript控制台菜单(快捷键:Option-Cmd-J)开启,Safari需使用 Developer > Show Error Console菜单(快捷键:Option-Cmd-C)开启浏览器控制台。

基于代码或基于Verge3D播放器的应用

如果您不想使用拼图进行设置,请按照以下步骤为应用启用资产压缩。

Code-Based(基于代码) 的应用,只需修改文件 your_awesome_app.js var url = 'my_awesome_app.gltf'; 为: var url = 'my_awesome_app.gltf.xz'; 即可。

对于在URL中指定了 .gltf 文件的基于Verge3D播放器的应用,如下所示: https://cdn.soft8soft.com/demo/player/player.html?load=../applications/ring/ring.gltf 您只需将其替换为压缩的 .gltf.xz 文件的路径: https://cdn.soft8soft.com/demo/player/player.html?load=../applications/ring/ring.gltf.xz

同样,请将 .glb 替换为 .glb.xz ,如果他们没有使用 .gltf/.bin 格式。

压缩工具

作为替代,您可以使用压缩解压工具(如 7-Zip , XZ Utils 等)来创建 .xz 文件。

对于设计制作大型项目的团队来说,使用外部工具进行压缩会更节省时间。您可以编写一些批处理脚本,来自动执行压缩资产操作。

出于优化目的,Verge3D对.xz解压缩设置了一些限制,因此并非每个.xz文件都可以加载,也不支持tar.xz文件。考虑到这一点,建议使用如下描述的设置。

Windows

1) 使用常用的 7-Zip 工具创建.xz文件时:

在您要压缩的文件上点击右键,选择"7-Zip" -> "添加到压缩包..."- 这将打开对应的配置对话框:

压缩设置应如下所示:

其余选项可以保留默认。

此外,您也可以使用命令行版的 7-Zip 7z.exe a -m0=LZMA2:d23 scene.gltf.xz scene.gltf 7z.exe a -m0=LZMA2:d23 scene.bin.xz scene.bin

2) 或者,您也可以使用一个名为 XZ Utils 的特殊命令行工具。它的Windows安装包可以在 这里Pre-built binaries 部分找到。

使用方法很简单: xz.exe -k -f -6 scene.gltf xz.exe -k -f -6 scene.bin

Linux

1) 7-Zip 的官方存储库中有一个开箱即用的命令行工具包 p7zip

其用法与Windows中的类似: 7z a -m0=LZMA2:d23 scene.gltf.xz scene.gltf 7z a -m0=LZMA2:d23 scene.bin.xz scene.bin

2) 大多数Linux发行版都可以在 XZ Utils 的官方存储库中找到开箱即用的命令行工具包。

其用法与Windows中的类似: xz -k -f -6 scene.gltf xz -k -f -6 scene.bin

macOS

1) 7-Zip 的命令行工具包可通过 Homebrew 安装,名为 p7zip $ brew update $ brew install p7zip 用法与其在Linux中类似:

2) XZ Utils 二进制文件可在macOS 10.5+系统上运行,请参见其 这里Pre-built binaries ,其使用方法与在Linux类似。

遇到问题?

欢迎您随时在 论坛上提问!您还可以加入中文用户社区QQ群(171678760),在线寻求帮助。