GLTF文件格式解析与预览、编辑

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: GLTF是一种免版税的规范,用于引擎和应用程序高效传输和加载3D场景和模型,最小化了3D资产的大小,以及解包和使用它们所需的运行时处理,定义了一种可扩展的发布格式,通过在整个行业中实现3D内容的互操作使用,简化了创作工作流程和交互服务。

GLTF格式简介

GLTF是一种免版税的规范,用于引擎和应用程序高效传输和加载3D场景和模型,最小化了3D资产的大小,以及解包和使用它们所需的运行时处理,定义了一种可扩展的发布格式,通过在整个行业中实现3D内容的互操作使用,简化了创作工作流程和交互服务。

GLTF2.0已作为ISO/IEC 12113:2022国际标准发布,由Khronos Group维护。

GLTF格式的应用范围广泛,例如在虚拟现实、增强现实、游戏、在线购物、科学可视化等领域都有应用。

GLTF格式数据组成

GLTF格式的数据组成如下:

  • .gltf文件。这是GLTF格式的主体文件,它是一个JSON文件,包含了场景的描述和其他相关数据。
  • .bin文件。这是二进制文件,包含了几何和动画数据以及其他基于缓冲区的数据。
  • .jpg.png文件。这些是用于纹理的图像文件。

此外,也可以通过数据URI直接在GLTF格式的JSON文件中包含数据。

GLTF格式表现形式

GLTF除了二进制格式.glb之外,还有如下三种表现形式:

  • .gltf,文本文件,json格式,可以只有这个一个文件。
  • .gltf+.bin,.bin文件通过gltf里的buffers.uri引用。
  • .gltf+.bin+图片文件,图片文件通过gltf里的images.uri引用,图片文件可以放在同级目录,也可以放在子目录里,纹理图片通常放在textures目录里。

GLTF与GLB的区别

GLTF与GLB的区别如下:

  • 文件格式不同 。GLB格式是二进制文件格式;GLTF格式是基于JSON的。
  • 外部文件依赖性不同 。GLB将三维场景的所有元素(包括材质、节点层次和摄影机)定位在一个压缩文件中,是独立的文件;GLTF文件需要外部处理文件格式,例如纹理、着色器和动画数据等其他格式,不是独立的文件。
  • 文件大小不同 。GLB格式的文件大小比GLTF格式的文件小33%。

GLTF格式怎么生成

GLTF格式是一种用于3D场景和模型的格式,下面是通过Cesium生成GLTF格式的步骤:

  1. 下载插件。访问Khronos组织的GLTF插件GitHub页面,下载插件。
  2. 安装插件。解压下载的插件文件,并将其放置在C4D的插件目录中。
  3. 打开C4D。启动C4D应用程序,并打开包含要转换的模型和动画的项目文件。
  4. 导出设置。在C4D的菜单栏中,选择“Extensions”-“COLLADA2GLTF”,打开插件的设置界面。
  5. 配置导出选项。在插件设置界面中,可以配置输出路径、导出选项、动画选项、其他选项等参数。
  6. 执行导出。配置完毕后,点击插件界面中的“Export”按钮,开始将C4D文件导出为GLTF格式。
  7. 等待导出完成。导出过程可能需要一些时间,具体取决于模型和动画的复杂性,等待导出完成。
  8. 验证导出结果。在导出完成后,可以使用GLTF查看器打开导出的GLTF文件,验证模型和动画是否被完整地转换并正确显示。

GLTF格式优缺点

GLTF格式的优点有:

  • GLTF是一种用于3D场景和模型的格式,它借以二进制编码提高传输速度。
  • GLTF不再使用面向对象的思维存储三维模型、贴图纹理,而是按显卡的思维存储,存的是顶点、法线、顶点颜色等最基础的信息,只不过组织结构上进行了精心的设计。
  • GLTF优化了应用程序读取效率和和减少渲染模型的运行时间。
  • GLTF支持3D模型几何体、材质、动画及场景、摄影机等信息。

GLTF格式的缺点有:

  • 它不再像fbx、obj一样容易编辑和转换。
  • 它面向终点,可编辑性差,因为渲染性能的提高牺牲了可编辑性。

GLTF格式查看与编辑

使用GLTF模型编辑器网站进行在线预览、编辑:支持对模型材质、纹理以及一些基本属性的修改。

GLTF格式应用前景

GLTF格式应用前景广泛,例如在3D游戏、虚拟现实、3D广告、社交平台等领域都有应用。

GLTF是一种用于3D场景和模型的格式。许多大型科技公司如谷歌、微软等,都在其产品中应用了GLTF格式,例如谷歌正在探索将GLTF用于其3D广告,微软允许将GLTF文件嵌入到Powerpoint或Word文档中。同时,在社交平台如Facebook上,可以使用GLTF格式创建交互式3D帖子。

目录
相关文章
|
23天前
|
JavaScript API
深入探索fs.WriteStream:Node.js文件写入流的全面解析
深入探索fs.WriteStream:Node.js文件写入流的全面解析
|
6天前
|
JSON 前端开发 JavaScript
解析JSON文件
解析JSON文件
27 9
|
22天前
|
XML 存储 网络安全
ROS入门(二):launch文件解析
该文章是关于ROS入门的第二篇教程,详细解析了ROS中的launch文件,包括其运行方式、XML格式规范、标签使用、参数替代、条件属性以及通过简单和复杂案例来演示launch文件的使用,最后介绍了如何在参数服务器上设置参数。
ROS入门(二):launch文件解析
|
1月前
|
存储 数据采集 数据可视化
深入解析GPS接收机的位置数据文件:项目实战从数据解析到可视化
全球定位系统(GPS)是现代技术的支柱之一,广泛应用于交通导航、科学研究、智能设备等领域。GPS接收机通过接收来自卫星的信号,确定设备的地理位置,并将这些位置信息记录在数据文件中。 这些数据文件通常包含大量的信息,如时间、位置、海拔高度、卫星状态等。本篇文章将通过解析这些数据文件,展示如何利用Python和Folium库实现数据的读取、处理和可视化,帮助读者深入理解GPS数据的处理过程。
|
1月前
|
JSON Java Android开发
Android 开发者必备秘籍:轻松攻克 JSON 格式数据解析难题,让你的应用更出色!
【8月更文挑战第18天】在Android开发中,解析JSON数据至关重要。JSON以其简洁和易读成为首选的数据交换格式。开发者可通过多种途径解析JSON,如使用内置的`JSONObject`和`JSONArray`类直接操作数据,或借助Google提供的Gson库将JSON自动映射为Java对象。无论哪种方法,正确解析JSON都是实现高效应用的关键,能帮助开发者处理网络请求返回的数据,并将其展示给用户,从而提升应用的功能性和用户体验。
41 1
|
19天前
|
C# 开发者 UED
WPF开发者必备秘籍:深度解析文件对话框使用技巧,打开与保存文件原来如此简单!
【8月更文挑战第31天】在WPF应用开发中,文件操作是常见需求。本文详细介绍了如何利用`Microsoft.Win32`命名空间下的`OpenFileDialog`和`SaveFileDialog`类来正确实现文件打开与保存功能。通过示例代码展示了如何设置文件过滤器、初始目录等属性,并使用对话框进行文件读写操作。正确使用文件对话框能显著提升用户体验,使应用更友好易用。
38 0
|
19天前
|
C# 开发者 数据处理
WPF开发者必备秘籍:深度解析数据网格最佳实践,轻松玩转数据展示与编辑大揭秘!
【8月更文挑战第31天】数据网格控件是WPF应用程序中展示和编辑数据的关键组件,提供排序、筛选等功能,显著提升用户体验。本文探讨WPF中数据网格的最佳实践,通过DevExpress DataGrid示例介绍其集成方法,包括添加引用、定义数据模型及XAML配置。通过遵循数据绑定、性能优化、自定义列等最佳实践,可大幅提升数据处理效率和用户体验。
40 0
|
19天前
|
测试技术 PHP 开发工具
深入解析 Laravel 中的 Composer Lock 文件
【8月更文挑战第31天】
13 0
|
19天前
|
测试技术 PHP 开发工具
深入解析 Laravel 中的 Composer Lock 文件
【8月更文挑战第31天】
16 0
|
22天前
|
机器学习/深度学习 计算机视觉 Python
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
深度学习项目中在yaml文件中定义配置,以及使用的python的PyYAML库包读取解析yaml配置文件
31 0

推荐镜像

更多