GLTF文件格式
glTF的全称(Graphics Language Transmission Format)图形语言传输格式。是三维场景和模型的标准文件格式。
glTF 核心是 JSON 文件,描述了 3D 场景的整个内容。它由场景结构本身的描述组成,内容其由定义场景图的节点的层次提供。
场景中出现的 3D 对象是使用连接到节点的 meshes(网格)定义的。Materials(材料)定义对象的外观。Animations(动画)描述 3D 对象如何随着时间的推移转换 3D 对象,并且 Skins(蒙皮)定义了对物体的几何形状的方式基于骨架姿势变形。Cameras(相机)描述了渲染器的视图配置。
除此以外,它还包括了带有二进制数据和图像文件的链接。

Json文件(.gltf)包含完整的场景描述。
二进制文件(.bin)存储几何及动画等数据内容。
纹理文件(.jpg, .png)存储纹理图片内容。

ITF的格式有三种表达
>gTF分离格式(.gltf+.bin+纹理)
>gITF嵌入格式 (.gltf)
>gITF二进制格式 (.glb)

.gltf 文件,本质是 json 文件,记录对bin文件中模型顶点基本数据的索引、材质索引等信息。
.bin 文件,以二进制流的方式存储顶点坐标、顶点法线坐标和贴图纹理坐标、贴图信息等模型基本数据信息。
.glb 文件是二进制流文件,通常来说会更小一点,若不关心模型内的具体数据可直接选择此类型。
模型加载顺序
模型加载顺序为,先加载gltf文件,然后解析依次读取scenes、nodes、meshes、accessors、bufferViews、buffers、materials、textures、images。其中每个mesh包括一个bufferViews和一个materials。每一层的递进都有数组下标来确定。

glft的压缩优化
可以采用KHR_mesh_quantization或EXT_meshopt_compression进行网格压缩
然后再使用gltf-pipeline进行模块区分并对纹理图片压缩
制作GLTF模型数据
可以通过blender(开源免费)制作模型,然后导出成GLTF格式的文件。
blender地址:https://www.blender.org
参考文章:
https://www.jianshu.com/p/e134a2599cb7
https://segmentfault.com/a/1190000040506397?u_atoken=b06abf46-d8df-47db-ba59-5a4c4363d0cd&u_asession=01F4qvsxqP6kMcoXAmYhcyQfCq5d5Ikg-x9SDd4p1-hpFFk9PCkFV03zUutLz3Sb9nX0KNBwm7Lovlpxjd_P_q4JsKWYrT3W_NKPr8w6oU7K89Mr-I3EbGC83-VqEj1tUZ2l7GVvsUm1O1dQ3kAgydYmBkFo3NEHBv0PZUm6pbxQU&u_asig=05ESJ0rAXmqHXPIepLzgwTZm2R1rU3ORtWRA6FcUrU0s_I1hNzwAGwAsPBsvx9PmF0hyyMNORqXv-BWKvlHc96sgW6fi4uZXYtwk16F-RERqdkTDO3mpaauxgkssYAyDm9zeVqVFl-m6d7Ay5G3RJsKYgSU3tkx4PWFBDHg7_F3JP9JS7q8ZD7Xtz2Ly-b0kmuyAKRFSVJkkdwVUnyHAIJzQcWaqiEnhz-_OrjzkcBUNsXIInsFpDA-9pQwAzg9ndlaSuCIIsUrXvoQJBX3FajR-3h9VXwMyh6PgyDIVSG1W-rSwjCtyTewaa1beVeAOLa2qaXJ7OgOBoJ-UpI701OkNACp6I45I5Z4pVXM0r257y4Pxc3izT6PHNXAf5yIqDomWspDxyAEEo4kbsryBKb9Q&u_aref=aw4TIgfR3yygqwN%2B4HFRj6Q%2B%2FuE%3D

认识3D模型-GLTF文件的更多相关文章

  1. Unity导入3D模型的过程与方法

    一.介绍 资源是游戏开发中的原材料,也就是组成游戏的模块. Unity只是一个游戏开发引擎,而并不是一个资源开发软件.这就意味着在游戏中需要的资源通常是由一些设计者使用其他软件开发出来的,然后设计者会 ...

  2. 在SAP UI中使用纯JavaScript显示产品主数据的3D模型视图

    在Jerry写这篇文章时,通过Google才知道,SAP其实是有自己的3D模型视图显示解决方案的. 故事要从Right Hemisphere说起,这是一家专业的企业级2D/3D模型浏览及转换的软件供应 ...

  3. cesium导入3D模型(obj转gltf)

    cesium中支持载入3D模型,不过只支持gltf格式.gltf是khronos组织(起草OpenGL标准的那家)定义的一种交换格式,用于互联网或移动设备上展现3d内容,充分支持opengl,webg ...

  4. Cesium学习笔记(九):导入3D模型(obj转gltf)

    在用cesium的过程中难免需要导入别人做好的3D模型,这时候就需要将这些模型转成gltf格式了 当然,官方也给了我们一个网页版的转换器,但是毕竟是网页版的,效率极其低下,文件还不能太大,所以我们就需 ...

  5. 3D性能优化 | 说一说glTF文件压缩

    引言 最近做T级互动,需要使用到3D模型.相信大家和我一样,在开始着手的时候,一定会有这么些问题: 1.如何选择3D模型的导出格式 2.如何对模型文件进行优化 3.在大流量的项目中兼容性怎么样 让我们 ...

  6. 3D模型预处理(格式转换:obj转换为gltf)

    在cesium中导入模型需要的是gltf或glb格式的文件,cesium官方提供了obj转gltf文件的工具,一个obj2gltf的库,地址为https://github.com/Analytical ...

  7. QT QML 3D模型查看器

    原文链接:http://amin-ahmadi.com/2018/01/28/viewing-3d-models-using-qt/ 本文使用QT Quick中的Scene3D QML类型来查看3D模 ...

  8. ThreeJS 3d模型简介

    本文主要是对Threejs中加载模型的支持种类进行简单的知识科普. 3ds (.3ds) 3ds是3ds max通用储存文件格式.使用的范围更宽,可被更多的软件识别使用. amf (.amf) AMF ...

  9. 教你如何利用threejs对3D模型皮肤进行DIY

    一步一步教你如何利用threejs加载gltf模型来实现DIY换肤功能. 模型准备 模型制作 模型可以通过网上下载,也可以自己通过c4d.maya.blender等模型制作软件得到.这里就不叙述有关模 ...

  10. 3D模型在线查看工具

    3D场景工具推荐:NSDT场景编辑器. glTF Viewer 2.0是一个可以在线查看GLTF格式3D模型的,可以对模型进行显示设置.灯光设置来查看模型效果,除此之外还可以对模型进行性能分析和模型验 ...

随机推荐

  1. 汇编 | 8086 DEBUG调试学习笔记

    在8086汇编中DEBUG是个非常实用的工具,并且可以非常明了的查看每一步指令每一个段的相对状态,有利于学习.下面列举一下DEBUG的一些使用方法: -A:可以开始在相应位置编写代码,其中后面可以接一 ...

  2. C# 排序算法1: 冒泡排序

    本文用控制台程序展示数据排序前后的变化,本文数据都按将从小到大进行排序. 1.  准备arr数据  及 arr数据的展示 /// <summary> /// 生成n个元素的int数组 // ...

  3. Error adding module to project: null I(IDEA创建maven项目时遇到此提示)

    1.问题 在已创建一个springboot项目的时候,想要再增添一个Maven项目,发生报错 2.解决 根本原因是创建maven模块时选择的sdk版本过高(选用了openjdk19).选用jdk1.8 ...

  4. 【MicroPython】用 c 添加接口 -- 添加 type

    [来源]https://www.eemaker.com/micropython-type.html

  5. MyBatis——第一个程序

    MyBatis1:初识 MyBatis第一个程序 流程:搭建环境–>导入MyBatis–>编写代码–>测试 1.创建一张User表. 关键字id.username.pwd 2.导入相 ...

  6. [转帖]TiKV Config Learn the TiKV configuration file

    The TiKV configuration file supports more options than command-line parameters. You can find the def ...

  7. [转帖]RocksDB 简介

    https://docs.pingcap.com/zh/tidb/stable/rocksdb-overview RocksDB 是由 Facebook 基于 LevelDB 开发的一款提供键值存储与 ...

  8. [转帖]KingbaseES wal(xlog) 日志清理故障恢复案例

    https://www.cnblogs.com/kingbase/p/16266365.html 案例说明:在通过sys_archivecleanup工具手工清理wal日志时,在control文件中查 ...

  9. [转帖]jmeter(八)断言

    https://www.cnblogs.com/pachongshangdexuebi/p/11582891.html jmeter中有个元件叫做断言(Assertion),它的作用和loadrunn ...

  10. [转帖]nginx 反向代理中proxy_set_header的含义

    https://www.jianshu.com/p/cd813d68ed25 0.1212020.10.23 09:29:53字数 284阅读 9,939 1.proxy_set_header设置的请 ...