我可以缩小 glb 文件吗?
Can I make the glb file smaller?
我有 306 mb
的大 obj
文件。所以我将其转换为 glb
文件以减小其大小。文件的大小减少了很多,达到 82 mb
,但仍然很大。我想让这个文件更小。有办法吗?如果有,请告诉我。
如果您不能进一步减少 glb
文件,请告诉我更有效的减少 obj
文件的方法。我已经完成的其中一件事是将 obj
文件更改为 json
、压缩、展开并使用 pako.js
加载它。我没有选择这个方法,因为解压太慢了
可能是 vertex-data 导致文件如此之大。在这种情况下,您可以使用 DRACO compression-library 进一步缩小尺寸。
首先,要测试压缩器,您可以运行
npx gltf-pipeline -i original.glb -d --draco.compressionLevel 10 -o compressed.glb
(您需要安装当前版本的 node.js 才能运行)
如果 vertex-data 是文件那么大的原因,那么压缩文件应该比原始文件小得多。
现在您必须经过一些 extra-steps 才能加载文件,因为常规 GLTFLoader 不支持 DRACO-compressed 网格。
基本上,您需要导入 THREE.DRACOLoader
and the draco-decoder。最后,你需要告诉你的 GLTFLoader
你知道如何处理 DRACO-compression:
DRACOLoader.setDecoderPath('path/to/draco-decoder');
gltfLoader.setDRACOLoader(new DRACOLoader());
之后,您可以像以前一样使用 GLTFLoader。
唯一的缺点是解码器本身需要一些资源:解码不是免费的,解码器本身是浏览器加载的另外 320kB 数据。我认为如果它为您节省兆字节 mesh-data.
还是值得的
令我惊讶的是,没有人提到明显、简单的有损减小 .glb
文件大小的方法,该文件只是单独的网格和纹理数据的容器:
通过折叠靠近或共面的相邻顶点来减少顶点数,并通过修剪、缩小或使用较低的位深度来处理不必要的细节来减少图像数据。
表面 polygon/pixel 密度每减少 2 倍,文件大小就会减少大约 4 倍。
然后然后,删除不需要的细节后,开始查看 DRACO
、basis
、更少的 JPEG
色度等内容样本,以及 optipng
.
我有 306 mb
的大 obj
文件。所以我将其转换为 glb
文件以减小其大小。文件的大小减少了很多,达到 82 mb
,但仍然很大。我想让这个文件更小。有办法吗?如果有,请告诉我。
如果您不能进一步减少 glb
文件,请告诉我更有效的减少 obj
文件的方法。我已经完成的其中一件事是将 obj
文件更改为 json
、压缩、展开并使用 pako.js
加载它。我没有选择这个方法,因为解压太慢了
可能是 vertex-data 导致文件如此之大。在这种情况下,您可以使用 DRACO compression-library 进一步缩小尺寸。
首先,要测试压缩器,您可以运行
npx gltf-pipeline -i original.glb -d --draco.compressionLevel 10 -o compressed.glb
(您需要安装当前版本的 node.js 才能运行)
如果 vertex-data 是文件那么大的原因,那么压缩文件应该比原始文件小得多。
现在您必须经过一些 extra-steps 才能加载文件,因为常规 GLTFLoader 不支持 DRACO-compressed 网格。
基本上,您需要导入 THREE.DRACOLoader
and the draco-decoder。最后,你需要告诉你的 GLTFLoader
你知道如何处理 DRACO-compression:
DRACOLoader.setDecoderPath('path/to/draco-decoder');
gltfLoader.setDRACOLoader(new DRACOLoader());
之后,您可以像以前一样使用 GLTFLoader。
唯一的缺点是解码器本身需要一些资源:解码不是免费的,解码器本身是浏览器加载的另外 320kB 数据。我认为如果它为您节省兆字节 mesh-data.
还是值得的令我惊讶的是,没有人提到明显、简单的有损减小 .glb
文件大小的方法,该文件只是单独的网格和纹理数据的容器:
通过折叠靠近或共面的相邻顶点来减少顶点数,并通过修剪、缩小或使用较低的位深度来处理不必要的细节来减少图像数据。
表面 polygon/pixel 密度每减少 2 倍,文件大小就会减少大约 4 倍。
然后然后,删除不需要的细节后,开始查看 DRACO
、basis
、更少的 JPEG
色度等内容样本,以及 optipng
.