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. Step by step guide to becoming a C++ developer in 2023

    https://roadmap.sh/cpp https://roadmap.sh/backend

  2. Codeforces Round #623 (Div. 2) A~D题,D题multiset使用

    比赛链接:Here 1315A. Dead Pixel 签到题, 比较四个值 max(max(x, a - 1 - x) * b, a * max(y, b - 1 - y)) 1315B. Home ...

  3. vue.draggable中文文档

    http://www.itxst.com/vue-draggable/fiamvqam.html https://blog.csdn.net/a772116804/article/details/10 ...

  4. Liunx快捷命令(别名)与快捷方式(软/硬链接)

    一.快捷命令(别名)-临时生效1.命令:alias 别名='原命令' 2.举例:给检查防火墙的命令设置别名 [root@localhost ~]# alias fhq='firewall-cmd -- ...

  5. docker 原理之 mount namespace(下)

    1. mount namespace mount namespace 通过隔离文件系统挂载点对隔离文件系统提供支持.使用 unshare 构造 mount namespace 如下: root@chu ...

  6. HTTP 及 http 请求解析过程

    本文为博主原创,未经允许不得转载: HTTP 全称为:超文本传输协议(HyperText Transfer Protocol,HTTP),一种无状态的,以请求/应答方式运行的协议, 它使用可扩展的语义 ...

  7. C# WPF:快把文件从桌面拖进我的窗体来!

    首发公众号:Dotnet9 作者:沙漠之尽头的狼 日期:202-11-27 一.本文开始之前 上传文件时,一般是提供一个上传按钮,点击上传,弹出文件(或者目录选择对话框),选择文件(或者目录)后,从对 ...

  8. 12-Verilog-同步FIFO设计

    同步FIFO和异步FIFO FIFO分为一个同步FIFO,一个异步FIFO,FIFO有读口和写口 读写时钟是一个,就是同步FIFO;读写时钟不是一个,异步FIFO IP核设计中,一般使用同步FIFO设 ...

  9. Linux-磁盘-di-目录查询-du-tree

  10. 达梦数据库varchar和nvarchar的验证

    达梦数据库varchar和nvarchar的验证 测试SQL create tablespace zhaobsh datafile '/opt/dmdbms/data/DAMENG/zhaobsh.d ...