首页 > 其他分享 >GLTF文件格式解析与格式转换

GLTF文件格式解析与格式转换

时间:2023-09-11 14:38:29浏览次数:42  
标签:文件 插件 gltf GLTF 文件格式 格式 解析 3D

GLTF格式简介

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

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

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

GLTF文件格式解析与格式转换_gltf简介

GLTF格式数据组成

GLTF格式的数据组成如下:

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

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

GLTF文件格式解析与格式转换_gltf简介_02

GLTF格式表现形式

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

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

GLTF文件格式解析与格式转换_gltf格式转换_03

GLTF与GLB的区别

GLTF与GLB的区别如下:

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

GLTF文件格式解析与格式转换_gltf格式转换_04

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简介_05

GLTF格式优缺点

GLTF格式的优点有:

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

GLTF格式的缺点有:

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

GLTF文件格式解析与格式转换_gltf在线预览_06

GLTF格式查看与转换

使用3D模型在线转换网站进行在线转换:3Dconvert 网站提供多种模型格式文件转换,支持gltf格式文件在线查看,支持将gltf格式在线转换为glb、obj、stl、dae、ply、off等模型格式,同时支持将glb、obj、stl、dae、ply、off、fbx、ifc、iges、step等模型格式转换成gltf。

GLTF文件格式解析与格式转换_gltf格式转换_07

GLTF格式应用前景

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

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

GLTF文件格式解析与格式转换_gltf简介_08

标签:文件,插件,gltf,GLTF,文件格式,格式,解析,3D
From: https://blog.51cto.com/u_16186343/7435757

相关文章

  • STEP文件格式解析与格式转换
    STEP格式简介STEP格式是一种STP三维文件,是基于ASCII格式符合STEP应用协议ISO10303-21标准的正文编码的交换结构的三维图像数据。STP文件使用CATIA(计算机辅助三维交互应用)软件打开,通常在不同平台下有很多这类软件可以打开STP格式文件,Windows系统下就有大家熟知的UG、PRO-E、FreeCAD......
  • FBX模型解析与格式转换
    FBX格式简介FBX格式是一种3D通用模型文件格式。FBX格式是Autodesk公司收购Kaydara以后,研发的一种3D通用模型文件。包含动画、材质特性、贴图、骨骼动画、灯光、摄像机等信息。FBX格式用于在诸如3dsMax、Maya、Softimage等软件间进行模型、材质、动作和摄影机信息的互导。FBX最大的......
  • IGES文件格式解析与格式转换
    IGES文件格式简介IGS是根据IGES标准生成的文件,主要用于不同三维软件系统的文件转换。IGES标准,是建立在波音公司CAD/CAM集成信息网络、通用电气公司的中心数据库和其他各种数据交换格式之上的。其最初版本仅限于描述工程图纸的几何图形和注释,随后又将电气、有限元、工厂设计和建筑设......
  • Spring AOP概念全面解析
    1AOP简介思考:什么是AOP,AOP的作用是什么?1.1AOP简介和作用【理解】AOP(AspectOrientedProgramming)面向切面编程,一种编程范式,指导开发者如何组织程序结构OOP(ObjectOrientedProgramming)面向对象编程作用:简单的说就是在不改变方法源代码的基础上对方法进行功能增强。符合Sprin......
  • 极空间NAS存储 -家用ssh功能和动态域名解析
    拉取自定义镜像拉取镜像映射端口访问Docker获取ipssh访问容器动态域名解析apiyuminstallpython3-pip-......
  • 为什么EDI工作流中围绕XML做EDI报文数据解析/生成?
    经常有客户问起,为什么在处理EDI文件时不一次到位,而需要使用多个端口来分次进行处理呢,是不是想要多占用几个端口好多卖钱呀?实际上,在一开始的知行EDI产品中,功能还没有这么完善,当时只支持EDI常见的传输协议,那个时候我们在做报文翻译时,还不能仅通过简单的配置来实现,需要手写代码,去读......
  • CSP-S2022初赛易错题解析
    一.2.错误原因:不会解析:real代表实际运行时间,user代表用户态运行时间,sys表示内核态运行时间,故选A 5.错误原因:不会解析:基数排序的思路类似于桶排序,故选A 9.错误原因:不会解析:这个问题可以转化成圆排列问题,公式为A(n-1,n-1),即(n-1)!,要考虑从两个方向看的图,所以要除......
  • 网络规划设计师真题解析--IP地址(七)
    DHCP服务器分配的默认网关地址是220.115.5.33/28,()是该子网主机地址。(2015年真题)A.220.115.5.32    B.220.115.5.40C.220.115.5.47    D.220.115.5.55答案:B解析:220.115.5.33/28建网比特数/28,只看第四位220.115.5.3300100001220.115.5.3200100000(主机位全零......
  • postgresql数据库安装日志解析插件wal2json
    postgresql数据库安装日志解析插件wal2json一、编译安装wal2json插件cdwal2jsonexportPATH=/data/home/fei.yang4/moudle/postgresql/bin:$PATHmakemakeinstall二、直接导入wal2json插件查看pg进程确定pgsql库和配置文件存放目录ps-ef|greppostgresqlubuntu24975248......
  • 深入解析Java中的数组复制:System.arraycopy、Arrays.copyOf和Arrays.copyOfRange
    当涉及到在Java中处理数组时,有许多方法可供选择,其中一些包括System.arraycopy()、Arrays.copyOf()和Arrays.copyOfRange()。这些方法允许您在不同的数组之间复制数据,但它们之间有一些细微的差异。在本篇博客文章中,我们将深入探讨这些方法,以便您了解何时使用它们以及如何正确使用它......