专栏首页acoolgiser_zhuanlanbat 批处理 脚本 for循环 批量压缩gltf模型 gltf批量压缩 gltf压缩转成glb

bat 批处理 脚本 for循环 批量压缩gltf模型 gltf批量压缩 gltf压缩转成glb

bat 批处理 脚本 for循环 批量压缩gltf模型 gltf批量压缩 gltf压缩转成glb

这里参考两篇文章:

1. 关于gltf压缩转成glb的工具(gltf-pipeline) https://blog.csdn.net/niujing1987/article/details/100639864

2. 关于批处理的知识 https://www.jb51.net/article/134025.htm

一、模型准备

如下图所示,现在有二十多个gltf模型,放在一个文件夹下,要对这些模型进行压缩:

二、首先想到用gltf-pipeline

官方开源地址:https://github.com/CesiumGS/gltf-pipeline

使用方法很简单,进入你的文件目录,打开cmd,只要你安装了npm,就可以直接通过下面一句命令安装gltf-pipeline这个库:

npm install -g gltf-pipeline

安装完成后,按照官方地址的使用说明,直接对模型进行压缩即可,比如:

gltf-pipeline -i model.gltf -o modelDraco.gltf -d

就可以把model.gltf模型压缩。

三、批量处理

gltf-pipeline官方并没有介绍批量处理的方法,下面我们通过批处理来实现:

打开cmd,进入gltf模型存放的路径,如下图,输入命令,回车,就会自动循环执行,批量压缩。(-d表示使用draco算法进行压缩)

for %i in ('dir *.gltf /s /b') do gltf-pipeline -i %i -o %i -d

看一下压缩后的模型大小:

如果还想进一步压缩,可以转成glb格式,使用如下命令:

for %i in ('dir *.gltf ') do gltf-pipeline -i %i -o %~ni.glb

注意唯一的不同就是输出后缀,%i表示文件名带后缀,此时后缀变成glb了,%~ni表示文件名(不带后缀),所以用%~ni加上后缀.glb既可。

转成glb后的大小如下图,可以看到小了很多。

四、知识点总结

1. 批处理的基本语法,写法、格式;

在cmd中使用%i,如果是在bat批处理文件中,要换成%%i

2. gltf-pipeline除了会用,还应该看看他的源码,draco算法到底是怎么回事?是如何达到压缩效果的,gltf和glb这两种格式的区别,转换和压缩的原理是什么。

(学海无涯,只有不断深究,才会真正的进步,与君共勉)

微信搜索:acoolgiser,一起学习成长,交个朋友!^_^

或者直接扫描

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在页面极速渲染3D模型

    ? 腾讯ISUX isux.tencent.com 社交用户体验设计 ? ? 朋友们,还记得 QQ 20 周年 H5 中可可爱爱的太空鹅吗? ? 为了实现...

    腾讯ISUX
  • 干货 | 2D+1D | vivo官网Web 3D应用开发与实战

    在近20年的前端发展史中,前端经历了铁器时代(小前端),信息时代(大前端)以至现在的全能前端时代。经历了几个时代的沉淀之后,前端领域开始更加细分。

    CloudBest
  • 2D+1D | vivo官网Web 3D应用开发与实战

    在近20年的前端发展史中,前端经历了铁器时代(小前端),信息时代(大前端)以至现在的全能前端时代。经历了几个时代的沉淀之后,前端领域开始更加细分。

    2020labs小助手
  • gltfOverview中文翻译

    https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/figures/gltfO...

    Jean
  • 谈谈3D Tiles(3):个人总结

    Peter Lu
  • glTF简介

    Peter Lu
  • WebGL简易教程(十五):加载gltf模型

    一般来说,图形渲染总是需要从磁盘数据开始,最终保存到磁盘数据中,保存这种数据的就是3D模型文件。3D模型文件一般会把顶点、索引、纹理、材质等等信息都保存起来,方...

    charlee44
  • AMD正式发布Compressonator 3.0,为用户带来三款新功能

    VRPinea
  • LayaAir 2.10新特性:可动态修改渲染管线、增加深度渲染管线、增加DirectLightMap全局光照贴图等3D功能

    在今天推出的LayaAir 2.10beta版里,3D渲染效果再次得以提升,增加了DirectLightMap全局光照贴图、增加了深度渲染管线DepthPass...

    Layabox Charley

扫码关注云+社区

领取腾讯云代金券