来自 3D 世界的 JPEG。什么是 glTF?什么是 glb?

定义和简史

GLTF(GL 传输格式)是一种用于存储 3D 场景和模型的文件格式,它非常易于理解(结构是用 JSON 标准编写的),可扩展并易于与现代 Web 技术交互。这种格式可以很好地压缩 3D 场景,并最大限度地减少对使用 WebGL 和其他 API 的应用程序的运行时处理。glTF 现在由 Khronos Group 作为 3D 世界的 JPEG 积极推广。

glTF 旨在成为一种高效、可互作的资产交付格式,可压缩 3D 场景的大小,并最大限度地减少使用 WebGL 和其他 API 的应用程序的运行时处理。glTF 还为 3D 内容工具和服务定义了一种通用的发布格式。

glTF 的首次提及可以追溯到 2012 年,但它于 2015 年 10 月 19 日随着 glTF 1.0 规范的宣布而开始使用。目前,使用的是 2017 年 3 月 3 日发布的规范的第 2 版 (glTF 2.0)。此外,我们将只讨论 glTF 2.0。 关于这种格式的内部结构的详细说明可以在我后续的出版物中找到:第一部分第二部分

glb官方下载 glbxz.com glb/gltf格式文件模型

glTF 的基础及其优点

glTF 基于 2 个文件:JSON 用于描述整个 3D 场景的结构,一个二进制文件用于存储场景中的所有数据,包括纹理贴图,这些数据可以"拼接"成二进制文件或存储为外部文件。还有一个名为 GLB 的二进制版本的 glTF,唯一的区别是所有内容都存储在具有 GLB 扩展名的第一个文件中。 glTF 的其他优势包括:

  • 3D 场景结构中对象的清晰层次结构

  • 存储场景信息,例如灯光和摄像机

  • 支持关节动画

  • 更可靠的材质和着色器

如果你比较 glTF 和 COLLADA,它们支持的功能非常相似,但请记住 glTF 首先是一种"传输格式",那么它不可否认的优势将是与 Web 技术的良好兼容性。打个比方,我会使用 .PSD (Adobe Photoshop) 和 .JPG 格式。第一个方法适用于编辑源材料,但 JPG 仍用于在 Internet 上存储和使用。

今天,3D 来自完全不同的来源,每个来源都有自己的格式。并非用户需要所有信息,并非所有格式都可以在他的应用程序中打开。必须分析场景的结构,并将 3D 几何数据转换为图形 API 所需的格式。必须将 3D 数据传输到显卡的内存中,然后才能使用对图形 API 的顺序调用来描述渲染过程。因此,每个可执行应用程序都必须为其支持的所有文件格式创建自己的导入器、加载器或转换器,如幻灯片所示。

添加图片注释,不超过 140 字(可选)

GLTF 格式定义了一个标准,用于以适合在运行时在应用程序中使用的形式呈现 3D 内容。现有格式不太适合通过 Internet 传输:有些仅包含几何信息,有些则包含所有内容,并且大小太繁琐且难以分析,更不用说实时运行(运行时)。

GLTF 旨在解决这个问题。这不是"另一种文件格式",其中已经有很多了,这就是传输 3D 场景的格式定义!

JSON 描述的场景结构可以轻松解析,并且 3D 数据以易于阅读的形式存储,并由图形 API 直接使用,因此无需解码或预处理 3D 数据。通过这种方式,GLTF 可以帮助弥合内容创建和渲染之间的差距。

添加图片注释,不超过 140 字(可选)

相关推荐
Mapmost13 小时前
【数据可视化艺术·应用篇】三维管线分析如何重构城市“生命线“管理?
3d·信息可视化·性能优化·demo
陈小峰_iefreer19 小时前
stone 3d v3.3.0版本发布,含时间线和连接器等新功能
3d·webgl·metaverse·cadcg
子燕若水1 天前
“Daz to Unreal”将 G8 角色(包括表情)从 daz3d 导入到 UE5。在 UE5 中,我发现使用某个表情并与闭眼混合后,上眼睑出现了问题
3d·ue5
zhu_zhu_xia2 天前
JS通过GetCapabilities获取wms服务元数据信息并在SuperMap iClient3D for WebGL进行叠加显示
javascript·3d·webgl
星空寻流年2 天前
css3新特性第七章(3D变换)
前端·css·3d
在下胡三汉2 天前
Google Store 如何利用 glTF 3D 模型改变产品教育
3d
Hali_Botebie2 天前
【激光雷达3D(6)】3D点云目标检测方法;CenterPoint、PV-RCNN和M3DETR的骨干网络选择存在差异
网络·目标检测·3d
whuzhang162 天前
3DGS之齐次坐标
人工智能·3d·自动驾驶
90后小陈老师3 天前
WebXR教学 05 项目3 太空飞船小游戏
windows·3d·web·js