3D场景模型压缩减面
本文主要介绍了GLTF文件的减面和纹理压缩操作,减面和压缩后,可以应用到LOD中,可提高场景的渲染效果。
做3D场景相关项目的都知道,3D场景中常见的痛点,便是模型过大,面数过多,纹理太高清,节点层级过多等等,导致场景加载慢,渲染性能低,场景帧率低,如果模型开发的配合,可以让他们把模型优化下,如果不配合,那就只能另外想办法了。 这篇文章主要介绍怎么对模型进行减面和压缩。因为我们主要使用GLTF格式模型,所以,本文技术只针对GLTF/GLB模型。
推荐使用NSDT 3DConvert进行3D模型格式转换,支持glb、obj、stp、fbx、ifc等多种3D模型格式之间进行互相转换,在转换过程中,能够很好的保留模型原有的颜色、材质等信息。
减面压缩效果
- 第一张图片是最大保留外观的同时,面数减少一半,
- 第二张图是是不保留外观时减面,面数减少80%,
技术实现
先简单介绍gltf-transfrom
的使用。
上面主要介绍了gltf文件的读写,接下来,我们实现模型减面。
纹理压缩。
另外,这个库还提高的网格节点展平,合并等功能,可以自行查看和实现。
对Document
操作后,输出到指定目录,就完成了对模型的减面和压缩操作。