• 正文概述
  • 更新记录
  • 我们在做 3D 应用的时候,有各种各样的创作工具可以使用创建 3D 场景,它们都以自己自定义的文件格式存储这些场景信息,比如Blender 将场景存储在.blend文件中,LightWave3D 使用 .lws 文件格式,3ds Max 使用 .max 文件格式,Maya使用 .ma 文件 ​

    在这之前,为了呈现这样的 3D 内容,运行时应用程序必须能够读取不同的输入文件格式。必须解析场景结构,并且必须将 3D 几何数据转换为图形 API 所需的格式。3D 数据必须被传输到显卡内存,然后渲染过程可以通过图形 API 调用序列来描述。因此,每个运行时应用程序都必须为其将支持的所有文件格式创建导入器、加载器或转换器

    image.png

    所以OpenGL 的维护组织 Khronos 推出了 glTF格式,glTF 的目标就是以适合在运行时应用程序中使用的形式定义表示 3D 内容的标准 ​

    glTF 特点

    • 由 OpenGL 的维护组织 Khronos 推出,目的就是为了统一用于应用程序渲染的 3D 格式,更适用基于 OpenGL 的引擎
    • 减少了 3D 格式中除了与渲染无关的 冗余信息,最小化 3D 文件资源
    • 优化了应用程序读取效率和减少渲染模型的运行时间
    • 支持 3D 模型几何体、材质、动画及场景、摄像机等信息

    glTF 格式

    image.png

    传输格式的定义:

    • 场景结构用 JSON 描述,非常紧凑,易于解析。
    • 对象的 3D 数据以通用图形 API 可以直接使用的形式存储,因此没有解码或预处理 3D 数据的开销。

    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 压缩了。 ​

     

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,请不要用于商业用途!
    3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
    8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
    声明如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性

    GLB下载网(glbxz.com)gltf文件下载-glb格式下载-模型制作 » glTF – 统一应用程序渲染 3D 内容的传输格式gltf模型详解glb模型详解下载

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载要提取码
    百度网盘提取码都是gltf。
    分享过期和重复下载怎么办
    分享过期请使用备份下载,重复下载是不另扣费的,请放心下载。
    模型和平台不兼容怎么办
    可以用网站在线编辑功能,修改模型属性,大小,方向,坐标,中心,透明等问题,然后重新导出既可https://glbxz.com/38636.html
    • 7879会员数(个)
    • 16034资源数(个)
    • 40本周更新(个)
    • 39125 今日更新(个)
    • 1139稳定运行(天)

    提供最优质的资源集合

    加入VIP
    开通VIP 享更多特权,建议使用 QQ 登录
    ×