位置: 首页 > 资讯 > 正文

每日热文:gltf-pipeline压缩gltf/glb模型的贴图

来源:哔哩哔哩   发表于: 2023-02-19 12:50:43  

gltf-pipeline是一个gltf/glb模型的nodejs类库,使用此类库能够对gltf模型做进一步的处理,处理完成的gltf/glb模型,一般是将贴图文件包含到模型内容中,有时模型的显示并不需要太精细,将模型中的贴图进行压缩,能够减小模型的整体大小,加快模型的浏览速度。

1、将模型中的贴图分离出来,gltf-pipeline实现的具体方式是://gltf-pipeline的nodejs引用const gltfPipeline = require('gltf-pipeline');//使用processGltf进行模型的再处理const processGltf = gltfPipeline.processGltf;//设置贴图分离属性const options = {


(相关资料图)

separateTextures: true

};

//gltfmodel将模型进行分离处理,separateResources包含贴图文件

const results = await processGltf(gltfmodel, options) 

const separateResources = results.separateResources;

//将贴图文件都保存在本地的路径中

for (const relativePath in separateResources) {

if (separateResources.hasOwnProperty(relativePath)) {

const resource = separateResources[relativePath];

fsExtra.writeFileSync('data/' + relativePath, resource);

}

}

2、分离出来的图片,再进行压缩处理,这里推荐使用nodejs的jimp库,对于png图片,使用改变尺寸大小,或不存在透明信息的图片,转换成jpg图片,jpg图片能够进一步的按照质量进行压缩;3、图片处理完成后,使用gltf-pipeline对模型文件转换成gltf/glb再处理,合并成一个文件://使用gltftoglb进行转换

const gltfToGlb = gltfPipeline.gltfToGlb;

引用内容:

https://www.npmjs.com/package/gltf-pipeline

https://www.npmjs.com/package/jimp 

关键词: 分离出来 分离属性 具体方式

上一条:中期改款大众途铠谍照曝光!设计细节调整,提供1.5T动力

下一条:最后一页

推荐内容