【发布时间】:2019-01-14 23:24:47
【问题描述】:
我有一个 .fbx 文件,需要 58.8MB
使用此包的 draco 压缩将其转换为 .glb 后:
https://github.com/facebookincubator/FBX2glTF/tree/master/npm
文件现在需要 28.4MB
理想情况下,我需要得到小于 5MB 的文件。
我怎样才能做到这一点?
我正在使用 3DS Max。
以前加载整个屏幕的角色,现在这是我在将.fbx 转换为.glTF 后看到的内容,将纹理的大小从2048x2048 减少到1024x1024 并将它们转换为@ 987654330@:
【问题讨论】:
-
我不认为 >90% 的压缩率是现实的,即使对于最好的压缩算法,给定 3D 网格输入数据。您最好的选择可能是通过删除细粒度的细节来减少传入数据的数量。一些包称之为“抽取”网格。也可以将高多边形细节转换为低多边形网格上的烘焙法线贴图。
-
@emackey 最后,我想将模型加载到 three.js 中,让我的用户使用它。对于大多数互联网连接来说,5MB 已经很多了。我同意> 90%的压缩很可能是不切实际的,我应该写一些“尽可能小”的东西。您认为可以 gzip 一个 gltf 文件并在客户端上解压缩它吗?在您看来,我可以从中获得多大的收益?
-
了解文件大小的哪一部分是几何图形,哪一部分是纹理会很有帮助。尝试导出到
.gltf而不是.glb以分别查看。或者,如果您可以共享文件,那也很有帮助。 -
有时很多文件大小来自纹理。如果您有 PNG 纹理并且可以稍微降低质量,请将它们转换为 JPG 以获得更小的尺寸。
-
@DonMcCurdy .gltf 为 91KB。剩下的 28.4MB 都是纹理......
标签: javascript compression 3dsmax gltf