使用gltf-pipeline对gltf和glb模型进行相互转换
分类:计算机 | 三维开发 | 基础理论 | 综合 1145
更新:2022-10-03 20:44:49编辑
官方文档
https://npmmirror.com/package/gltf-pipeline
gltf-pipeline说明
gltf-pipeline是基于nodejs的一个开源的gltf、glb模型转换工具:
1、可以将gltf文件转换成glb文件,glb转换成gltf文件;
2、可以将gltf、glb中的坐标信息和贴图文件单独保存出来;
3、可以将gltf v1版本的模型文件转换成gltf v2版本的模型文件。
在命令行中使用
- 安装gltf-pipeline
npm install -g gltf-pipeline
- gltf转换成glb
gltf-pipeline -i model.gltf -o model.glb
gltf-pipeline -i model.gltf -b
- glb转换成gltf
gltf-pipeline -i model.glb -o model.gltf
gltf-pipeline -i model.glb -j
- gltf Draco压缩
gltf-pipeline -i model.gltf -o modelDraco.gltf -d
- 单独输出模型的贴图文件
gltf-pipeline -i model.gltf -t
在代码中使用
- 将gltf转换成glb
const gltfPipeline = require("gltf-pipeline");
const fsExtra = require("fs-extra");
const gltfToGlb = gltfPipeline.gltfToGlb;
const gltf = fsExtra.readJsonSync("model.gltf");
gltfToGlb(gltf).then(function (results) {
fsExtra.writeFileSync("model.glb", results.glb);
});
- 将glb转换成gltf
const gltfPipeline = require("gltf-pipeline");
const fsExtra = require("fs-extra");
const glbToGltf = gltfPipeline.glbToGltf;
const glb = fsExtra.readFileSync("model.glb");
glbToGltf(glb).then(function (results) {
fsExtra.writeJsonSync("model.gltf", results.gltf);
});
- 将glTF转换成Draco glTF
const gltfPipeline = require("gltf-pipeline");
const fsExtra = require("fs-extra");
const processGltf = gltfPipeline.processGltf;
const gltf = fsExtra.readJsonSync("model.gltf");
const options = {
dracoOptions: {
compressionLevel: 10,
},
};
processGltf(gltf, options).then(function (results) {
fsExtra.writeJsonSync("model-draco.gltf", results.gltf);
});
猿导航
阅读排行榜
- 1vue和el-table使用经验-如何刷新表格数据10877
- 2three.js加载3D瓦片和3dtiles数据生成交互式地图的开源项目9445
- 3Microsoft Visual C++ Redistributable是什么,有什么作用?7173
- 4mybatis使用经验——mybatis-spring-boot-starter和mybatis的版本对应关系表(持续更新~)5751
- 5uni-app使用经验—vue页面和html页面如何互相调用接口并传参5436
- 6Spring学习经验—@ResponseBody注解的使用说明4843
- 7Intellij IDEA下的版本控制VCS的启用与关闭4781
- 8Druid异常解决经验—java.sql.SQLException url not set4459
- 9如何用批处理命令(bat脚本)启动和停止windows服务4227
- 10nuxt.js项目中如何添加和使用全局变量4095
- 11解决SpringBoot使用maven下载不了jar包的问题3451
- 12linux中解压tar.gz文件报错“gzip: stdin: invalid compressed data--format violated”3339
- 13nuxtjs asyncData使用经验—如何发起多个axios请求并携带参数3204
- 14在Nuxt.js项目的head中引用外部js文件3040
- 15在NVIDIA控制面板设置参数时提示“拒绝访问 无法应用选定的设置到您的系统”的解决方法之一3017