当前位置: 首页 > news >正文

glTF/glb 格式完整指南:3D 模型交付的新标准

什么是glTF?
glTF(GL Transmission Format)是 Khronos 集团开发的一种 3D 场景和模型传输格式。它也称为“JPEG in 3D”,专为高效的 3D 内容交付而设计。
1.0 版本于 2015 年发布,glTF 2.0 现已被广泛采用为标准。
glb格式下载官网
主要设计目标
紧凑的文件大小:针对网络传输进行了优化
快速加载:发送到 GPU 的处理最少
互作性:跨不同平台的一致显示
可扩展性:灵活的机制来添加新功能
glTF的特点

  1. 高效的数据结构
    与 FBX 和 OBJ 等传统格式相比,glTF 在以下方面具有优势:
    减小文件大小:
    FBX 格式是一种专有的二进制格式,往往具有冗余元数据
    OBJ 格式具有很强的可读性,但它通常包含相同数据的重复项
    glTF 通过分层参考系统消除了重复数据,在多个位置使用同一网格时仅保存一次数据
    提高加载速度:
    常规格式需要在读取后转换为 GPU 格式
    glTF 以可直接复制到 GPU 缓冲区的格式存储顶点数据,大大减少了 CPU 处理时间
    内存效率:
    顶点数据以数组格式连续存储,以避免内存碎片
  2. GPU优化
    顶点数据以可直接复制到 GPU 缓冲区的格式存储,需要最少的 CPU 预处理。
  3. 基于物理的渲染 (PBR) 支持
    glTF 2.0 默认支持现代 PBR 材质:
    {
    "materials": [
    {
    "name": "Material",
    "pbrMetallicRoughness": {
    "baseColorFactor": [1.0, 1.0, 1.0, 1.0],
    "metallicFactor": 0.0,
    "roughnessFactor": 1.0
    }
    }
    ]
    }
    文件结构
    glTF 可以以多种文件格式分发:
  4. 标准 glTF(.gltf + .bin + 纹理)
    model.gltf # JSONメタデータ
    model.bin # バイナリデータ
    texture_diffuse.png # テクスチャファイル
    texture_normal.png # ノーマルマップ
  5. 二进制 glTF (.glb)
    将所有数据合并到一个文件中:
    model.glb # JSONメタデータ + バイナリデータ + テクスチャ
    JSON 元数据
    glTF 文件的核心 JSON 结构:
    {
    "asset": {
    "version": "2.0",
    "generator": "samething generated tools name"
    },
    "accessors": [...],
    "bufferViews": [...],
    "buffers": [...],
    "materials": [...],
    "meshes": [...],
    "nodes": [...],
    "scenes": [...],
    "textures": [...]
    }
    二进制数据
    顶点坐标、法线、UV 坐标、索引数据等以高效的二进制格式存储。
    glTF 2.0 中的改进
  6. 基于物理的渲染(PBR)的标准化
    金属粗糙度工作流程
    准确表示环境光
    材料的物理精度
  7. 增强动漫能力
    与传统 2.0D 格式相比,glTF 3 在动漫功能方面有了显着改进:
    关键帧动漫:
    沿时间轴的详细关键帧控制
    支持线性、步进和样条插值
    同时控制多个动漫轨迹
    动漫目标的扩展:
    独立控制位置、旋转和刻度
    材质参数动漫
    变形目标(混合形状)的权重控制
  8. 蒙皮和变形
    支持角色动漫和面部动漫。
    实现示例
    装入Three.js
    import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';

const loader = new GLTFLoader();

loader.load('path/to/model.glb', function (gltf) {
scene.add(gltf.scene);

// アニメーションの再生
if (gltf.animations.length > 0) {const mixer = new THREE.AnimationMixer(gltf.scene);const action = mixer.clipAction(gltf.animations[0]);action.play();
}

}, function (progress) {
console.log('Loading progress:', progress.loaded / progress.total * 100 + '%');
}, function (error) {
console.error('Loading error:', error);
});
装入Babylon.js
BABYLON.SceneLoader.ImportMesh("", "path/to/", "model.glb", scene, function (meshes) {
// メッシュが読み込まれた後の処理
meshes.forEach(mesh => {
mesh.position = new BABYLON.Vector3(0, 0, 0);
});
});
扩展
glTF 的主要特点之一是其可扩展性。 关键扩展:
KHR_materials_unlit
非发光材料(移动优化):
{
"materials": [
{
"extensions": {
"KHR_materials_unlit": {}
},
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 0
}
}
}
]
}
KHR_draco_mesh_compression
几何体压缩(文件大小减小)
一种称为 draco 压缩的算法可以减小网格的数据大小。 但是,由于有损压缩,一些数据被重写。
KHR_lights_punctual
点光源、定向光源、聚光灯
EXT_texture_webp
支持 WebP 格式纹理
支持更高级的基于物理的渲染参数
作为最新趋势,在SIGGRAPH2025上发表的演讲中, 漫反射透射和体积散射 已宣布正在扩大通信。

http://www.sczhlp.com/news/27124/

相关文章:

  • 财政部美丽乡村建设网站属性词 关键词 核心词
  • 湖南住房和城乡建设厅网站2021年关键词有哪些
  • 网站建设与管理的考试推广活动策划方案范文
  • 昆明做网站建设的公司哪家好营销型网站建设排名
  • 网站做的好赚钱吗关键词的优化方案
  • 天河网站建设哪里好外链seo招聘
  • 企业网站尺寸关键词优化公司排名榜
  • 图文广告设计公司网站seo收费
  • 我要看一集片做网站自动连点器
  • 南京做网站优化价格新手怎么做电商
  • SIM卡接口协议(ISO7816-3)
  • CF2132E题解
  • 佛山市专业的网站设计网站排名优化外包公司
  • 珠海网站推广小时seo
  • 两学一做网站源码微信广告推广价格表
  • 网站在线聊天代码seo方法
  • 做网站赤峰什么是互联网营销
  • 建筑企业信用分查询系统简述搜索引擎优化
  • 学校网站开发的项目背景各大网站收录入口
  • 公告!
  • TypeScript Record类型完全指南:从基础到高级应用
  • 国产 PLM 服务商全景分析:主流六大厂商、技术特点与行业应用
  • 2025年第五届电子信息工程与计算机科学国际会议(EIECS2025)
  • 薪酬篇:寒武纪(688256)之高管薪酬
  • 做网站选择什么相机百度引擎搜索
  • 网站开发的微端是什么平台推广营销
  • 做网站练手项目关键词排名优化软件策略
  • 一元建站app软件下载站seo教程
  • 英语_课本_8A_Unit06_Lifu inthe future
  • 最近悄悄流行的一类新工种:ITBP