我们在做 3D 应用的时候,有各种各样的创作工具可以使用创建 3D 场景,它们都以自己自定义的文件格式存储这些场景信息,比如Blender 将场景存储在.blend文件中,LightWave3D 使用 .lws 文件格式,3ds Max 使用 .max 文件格式,Maya使用 .ma 文件
在这之前,为了呈现这样的 3D 内容,运行时应用程序必须能够读取不同的输入文件格式。必须解析场景结构,并且必须将 3D 几何数据转换为图形 API 所需的格式。3D 数据必须被传输到显卡内存,然后渲染过程可以通过图形 API 调用序列来描述。因此,每个运行时应用程序都必须为其将支持的所有文件格式创建导入器、加载器或转换器
所以OpenGL 的维护组织 Khronos 推出了 glTF格式,glTF 的目标就是以适合在运行时应用程序中使用的形式定义表示 3D 内容的标准
glTF 特点
- 由 OpenGL 的维护组织 Khronos 推出,目的就是为了统一用于应用程序渲染的 3D 格式,更适用于基于 OpenGL 的引擎
- 减少了 3D 格式中除了与渲染无关的 冗余信息,最小化 3D 文件资源
- 优化了应用程序读取效率和减少渲染模型的运行时间
- 支持 3D 模型几何体、材质、动画及场景、摄像机等信息
glTF 格式
传输格式的定义:
p分页标题e
有两种后缀格式可供选择:.gltf 和 .glb:
- .gltf 文件导出时一般会输出两种文件类型,一是 .bin 文件,以二进制流的方式存储顶点坐标、顶点法线坐标和贴图纹理坐标、贴图信息等模型基本数据信息;二是 .gltf 文件,本质是 json 文件,记录对 bin 文件中模型顶点基本数据的索引、材质索引等信息,方便编辑,可读性较好;
- .glb 文件格式只导出一个 .glb 文件,将所有数据都输出为二进制流,通常来说会更小一点,若不关心模型内的具体数据可直接选择此类型。
glTF 转换
目前有些建模工具还不具备导出 glTF格式功能,可以输出 FBX / Collada 格式后通过以下工具进行转换:
- FBX 转 glTF
- Facebook 推出的 FBX2glTF 命令行工具,可直接从github 官网下载 release 版本;
- 通过 Paint 3D、Substance Painter 等可视化编辑工具进行转换。
- Collada 转 glTF
- COLLADA2GLTF 命令行工具,可转换 .dae 格式的文件,从 GitHub 官网直接下载 release 版本,解压后在命令行进入目录即可调用。
glTF 查看
可通过以下查看工具查看 glTF资源:
- Windows 10 及以上自带的 3D Paints;
- glTF在线查看器:https://glbxz.com
- glb模型下载,gltf格式模型下载
glTF 压缩
通过 Draco 进行压缩
Draco 及 gltf-pipeline 介绍
Draco 是 Google 推出的一个用于 3D 模型压缩和解压缩的工具库,上述介绍的 FBX2glTF 及 COLLADA2GLTF 工具也嵌入了 Draco 压缩功能,除此之外,glTF 资源可通过基于 Draco 开发的命令行工具 gltf-pipeline 进行编码压缩,gltf-pipeline 可通过 npm 的方式安装使用。使用方法如下:
全局安装
npm install -g gltf-pipeline复制代码p分页标题e
压缩 glb 文件 -b 表示输出 glb 格式,-d 表示压缩
gltf-pipeline -i model.glb -b -d复制代码
压缩 glb 文件并将纹理图片分离出来
gltf-pipeline -i model.glb -b -d -t复制代码
更多参数查阅
gltf-pipeline -h复制代码
Draco 压缩分析
通过 Draco 进行压缩基本上是有损的,有两点表现:
- Draco 通过 Edge breaker 3D 压缩算法改变了模型的网格数据的索引方法,缺少了原来的网格顺序;
- Draco 通过减少顶点坐标、顶点纹理坐标等信息的位数,以减少数据的存储量。
Draco 是有损的,但相对于直接为模型减面来说,采用 Draco 压缩方法视觉偏差会小很多
压缩后的 glTF 模型需要通过在应用中嵌入 Draco 解码工具包,主要是对 edge breaker 算法部分进行解码,解码时间一般比编码时间少,但必须考量模型与工具包的大小对比。例如 ThreeJS 提供了 draco_decoder 模块进行解码,draco_decoder 约 600KB,若模型资源文件比工具包还小,就没有必要再引入 Draco 压缩了。
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性
GLB下载网(glbxz.com)gltf文件下载-glb格式下载-模型制作 » glTF – 统一应用程序渲染 3D 内容的传输格式gltf模型详解glb模型详解下载
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载要提取码
- 分享过期和重复下载怎么办
- 模型和平台不兼容怎么办