Verge3D通常使用glTF文件格式加载场景。在这种格式中,场景数据的大部分通常包含在一对.gltf / .bin文件或单个.glb文件中(取决于所选的导出方法)。为了减小应用程序的整体大小,可以压缩这些文件,然后由引擎而不是原始文件加载。
样本文件的大小比较:原始文件 vs GZIP压缩文件 vs LZMA2压缩文件
Verge3D支持加载以.xz文件格式压缩的场景文件,该格式包含LZMA2压缩算法。在Verge3D中使用场景压缩的优点是:
在下列情况下,特别推荐使用LZMA压缩:
要在导出时自动创建.xz文件,您只需在导出设置中打开相应的选项即可。
3ds Max:
Blender:
Verge3D应用程序可以使用一对文件my_scene.gltf / my_scene.bin或单个文件my_scene.glb来加载场景。在这两种情况下,您都需要具有相应的xz压缩文件,例如:my_scene.gltf.xz / my_scene.bin.xz或 my_scene.glb.xz。他们必须在原来的附近。
您还需要指定压缩场景文件的路径,以便应用程序可以加载它。
对于基于播放器或自定义应用程序,其中包含主.js文件中指定的.gltf场景文件的路径,如下所示:
var URL = '__URL__my_scene.gltf';
或:
var
url = 'my_scene.gltf';
您只需将其更改为压缩文件的路径:
var URL = '__URL__my_scene.gltf.xz';
或:
var url = 'my_scene.gltf.xz';
对于基于播放器的应用程序,会在URL中指定场景.gltf的文件,例如:
http://localhost:8668/player/player.html?load=../applications/my_awesome_app/my_awesome_app.gltf
你可以简单地将其替换为压缩.gltf.xz文件的路径:
http://localhost:8668/player/player.html?load=../applications/my_awesome_app/my_awesome_app.gltf.xz
如果使用.glb和.glb.xz文件而不是.gltf / .bin,则 同样适用.glb和.glb.xz文件。
或者,您可以使用存档实用程序(如7-Zip,XZ Utils或其他)创建.xz文件 。
由于优化目的,.xz解压缩程序的Verge3D实现对压缩文件施加了一些限制,因此不能加载每个.xz文件。.tar.xz文件也不受支持。考虑到这一点,建议使用下面描述的设置。
1)流行的文件压缩工具7-Zip 可用于创建.xz文件。
要压缩文件,您可以右键单击它,然后选择“7-Zip” - >“Add to arcive ...” - 这将打开相应的对话框窗口:
压缩设置应如下所示:
其余选项可以默认保留。
您也可以使用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可执行文件都可以 在这里的预建的二进制文件部分。
用法很简单:
xz.exe -k -f -6 scene.gltf
xz.exe -k -f -6 scene.bin
1)7-Zip命令行可以在大多数Linux发行版中安装即用,也可以从官方存储库中获得名为p7zip的软件包。
用法类似于Windows中的用法:
7z a -m0=LZMA2:d23 scene.gltf.xz scene.gltf
7z a -m0=LZMA2:d23 scene.bin.xz scene.bin
2)XZ Utils也可以在大多数Linux发行版中安装即用或从官方存储库中获得。
用法类似于Windows中的用法:
xz -k -f -6 scene.gltf
xz -k -f -6 scene.bin
1)7-Zip命令行端口可以通过 Homebrew作为名为p7zip的软件包安装:
$ brew update
$ brew install p7zip
用法与Linux中的相同。
2)XZ utils的二进制文件可用于MacOS 10.5+ 这里的预建的二进制文件部分。用法与Linux中的相同。