3D 模型GLTF、GLB格式文件介绍使用;FBX格式

news2024/9/27 14:52:53

一、GLTF、GLB介绍

GLTF(GL Transmission Format)和 GLB(GL Binary)是用于在 Web 和各种应用程序中传输和加载 3D 场景和模型的开放标准格式。它们由 Khronos Group 开发,旨在提供一种高效、可扩展且易于使用的 3D 内容格式。以下是对 GLTF 和 GLB 格式的详细介绍:

1. GLTF 格式

1.1 概述

GLTF 是一种基于 JSON 的格式,用于描述 3D 场景和模型。它支持多种 3D 数据类型,包括几何体、材质、动画、相机、灯光等。GLTF 文件通常由多个部分组成,包括 JSON 文件、二进制文件和外部资源文件(如纹理图像)。

1.2 文件结构

一个典型的 GLTF 文件包含以下部分:

  • JSON 文件:描述 3D 场景的结构和内容。JSON 文件包含场景、节点、网格、材质、纹理、动画等信息。
  • 二进制文件:存储几何体数据(如顶点、法线、UV 坐标等)。二进制文件通常以 .bin 扩展名保存。
  • 外部资源文件:存储纹理图像、外部引用等资源。外部资源文件通常以 .png.jpg 等格式保存。
1.3 优点
  • 高效传输:GLTF 格式设计用于高效传输和加载 3D 内容,减少文件大小和加载时间。
  • 可扩展性:GLTF 格式支持扩展,可以添加自定义数据和功能。
  • 跨平台支持:GLTF 格式广泛支持各种平台和应用程序,包括 Web、移动设备、桌面应用程序等。
1.4 应用场景
  • Web 3D 应用:GLTF 格式广泛用于 Web 3D 应用,如 Three.js、Babylon.js 等。
  • 游戏开发:GLTF 格式用于游戏开发中的 3D 模型和场景的传输和加载。
  • 虚拟现实和增强现实:GLTF 格式用于虚拟现实(VR)和增强现实(AR)应用中的 3D 内容传输和加载。

2. GLB 格式

2.1 概述

GLB 是 GLTF 的二进制格式版本,将 JSON 文件和二进制文件合并为一个单独的二进制文件。GLB 文件通常以 .glb 扩展名保存。

2.2 文件结构

GLB 文件包含以下部分:

  • 文件头:包含文件的元数据,如文件格式版本、文件大小等。
  • JSON 部分:包含 3D 场景的结构和内容,以二进制格式存储。
  • 二进制数据部分:包含几何体数据(如顶点、法线、UV 坐标等),以二进制格式存储。
  • 外部资源部分:包含纹理图像、外部引用等资源,以二进制格式存储。
2.3 优点
  • 单一文件:GLB 格式将所有数据合并为一个单一文件,简化了文件管理和传输。
  • 高效加载:GLB 格式减少了文件数量和加载时间,提高了加载效率。
  • 跨平台支持:GLB 格式广泛支持各种平台和应用程序,包括 Web、移动设备、桌面应用程序等。
2.4 应用场景
  • Web 3D 应用:GLB 格式广泛用于 Web 3D 应用,如 Three.js、Babylon.js 等。
  • 游戏开发:GLB 格式用于游戏开发中的 3D 模型和场景的传输和加载。
  • 虚拟现实和增强现实:GLB 格式用于虚拟现实(VR)和增强现实(AR)应用中的 3D 内容传输和加载。

3. GLTF 和 GLB 的比较

特性GLTFGLB
文件格式基于 JSON 的文本格式二进制格式
文件结构多个文件(JSON、二进制、外部资源)单一文件
文件大小较大(多个文件)较小(单一文件)
加载时间较长(多个文件)较短(单一文件)
文件管理复杂(多个文件)简单(单一文件)
跨平台支持广泛支持广泛支持
应用场景Web 3D 应用、游戏开发、VR/ARWeb 3D 应用、游戏开发、VR/AR

二、GLTF、GLB使用

例子下载:
https://github.com/KhronosGroup/glTF-Sample-Models/tree/main/2.0
在这里插入图片描述
GLB只要一个二进制文件酒席,GLTF需要下载两个bin和gltf文件一起传入才能显示
在这里插入图片描述

在线GLTF、GLB网页查看:
https://gltf-viewer.donmccurdy.com/
在这里插入图片描述

三、FBX格式

FBX(Filmbox)是由Autodesk开发的一种通用3D模型格式,广泛用于3D建模、动画和游戏开发。FBX的主要特点包括:

通用性:FBX是一种通用的3D模型格式,支持多种3D软件,如Maya、3ds Max、Blender等。

丰富的数据支持:FBX支持多种数据类型,包括几何数据、动画数据、材质、纹理、相机、灯光等。

二进制和文本格式:FBX文件可以是二进制格式(.fbx)或文本格式(.fbx),二进制格式文件较小,加载速度快,文本格式便于阅读和编辑。

动画支持:FBX支持复杂的动画数据,包括骨骼动画、蒙皮、关键帧动画等。

兼容性:FBX广泛用于游戏开发、电影制作、虚拟现实等领域,支持多种平台和工具。

模型下载:
https://free3d.com/
在这里插入图片描述

在线demo:
https://3dviewer.net/
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2170280.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RUST语言的初印象-从一个模拟登陆谈起-slint+reqwest+aes

本文就一个做了三四天的小程序讲第一次学用RUST的感受,内附代码。 了角语言 从一些渠道听说了R,这个字母挺魔性,那个文章说C和R的团体已经上升到了宗教崇拜的高度,然后,我觉得必 有过人之处,大约10年没碰…

C# DotNetty客户端

1. 引入DotNetty包 我用的开发工具是VS2022,不同工具引入可能会有差异 工具——>NuGet包管理器——>管理解决方案的NuGet程序包 搜索DotNetty 2.新建EchoClientHandler.cs类 用于接收服务器返回数据 public class EchoClientHandler : SimpleChannelIn…

vs code自动报错

让vs code自动报错, 点击插件 → 搜索error lens → 点击install, 下载完后,编写的代码有问题就会自动报错了。 5、修改默认缩进字符 点击设置(settings) → 点击常用设置 → 修改字符缩进。

汽车自研算法部署芯片份额浅思

国内汽车行业如火如荼发展,汽车从业的研发人员也激增,从三电到座舱到智能驾驶和动力底盘一体化发展。 芯片承载着算法落地,国内主流的主机厂(OEM)的EE架构规划都基本使用主流的车规级芯片,如 英飞凌(Infineon):德国半导体制造商,行业当前在预控的SOC的MCU选择TC39X…

ROC、TPR、FPR的含义

1、ROC(Receiver Operating Characteristic) ROC(Receiver Operating Characteristic)曲线是一种用于评估分类模型性能的工具。它通过绘制真阳性率(True Positive Rate, TPR)与假阳性率(False…

新书速览|Stable Diffusion-ComfyUI AI绘画工作流解析

《Stable Diffusion-ComfyUI AI绘画工作流解析》 本书内容 《Stable Diffusion-ComfyUI AI绘画工作流解析》从零开始,详尽系统地讲解从本地部署ComfyUI、下载安装自定义节点,到搭建各种工作流程的全过程。同时,辅以3D形象转绘、艺术二维码和证…

智能制造的生产力基础设施

由于全球大多数细分市场的半导体工厂都满负荷运转,因此,生产力如今成为整个行业关注的重要问题也就不足为奇了。工厂经理会仔细监控关键绩效指标 (KPI),以发现任何生产力下降的迹象,以便快速做出反应,找出并解决这些偏…

UE4中 -skipbuild -nocompile 有什么区别

在项目开发中,我看到了在调用 Engine\\Build\\BatchFiles\\RunUAT.bat 相关的命令行中,有 -skipbuild、 -nocompile 两个很像的参数,于是想探究一下它们的区别与含义。 -skipbuild 参数 到底有没有 -skipbuild 这个参数?根据 http…

1.3 熟悉常用的IP相关命令

1.3熟悉常用的IP相关命令 原理概述 华为设备支持多种配置方式,包括Web界面管理等。但作为一名网络工程师,必须熟悉使用命令行的方式进行设备管理。在工作中,对路由器和交换机最常用的操作命令就是IP相关命令,如配置主机名、IP地…

<Rust>egui学习之部件(十三):如何为文本添加链接Link和超链接HyperLink功能?

前言 本专栏是关于Rust的GUI库egui的部件讲解及应用实例分析,主要讲解egui的源代码、部件属性、如何应用。 环境配置 系统:windows 平台:visual studio code 语言:rust 库:egui、eframe 概述 本文是本专栏的第十三篇…

ROS与无人驾驶学习笔记(零)——问题汇总

文章目录 ubuntu相关问题 ubuntu中中文输入法没有输入框 在ubuntu中使用双拼输入 ros卸载重装报错的问题 在学习ubuntu、ros以及无人驾驶过程中遇到的问题我都记在在这里 ubuntu相关问题 ❤ 2024.9.20 ❤ ubuntu中中文输入法没有输入框 因为我用的是arm平台,于…

软件对比 | 历史气象数据哪里找?

中国气象网和羲和能源气象大数据平台两个平台当然没有“绝对”哪个好的说法,各自特点都在下图进行总结,到底用哪个还是根据自己需求自己抉择。 希望可以帮助到大家~

Maven中 <parent > 的<version>可以使用变量吗

答案&#xff1a; 不可以&#xff01; 在 Maven 中&#xff0c;父 POM 的 <version> 元素不能直接使用变量。父 POM 的版本号必须是硬编码的&#xff0c;不能通过变量来动态设置。这是因为父 POM 的版本号在子模块中引用时&#xff0c;需要是一个固定的值&#xff0c;以…

记录:ubuntu20.04的安装和必要的开发准备

记录ubuntu20.04的安装和必要的开发准备 准备1. 安装ubuntu20.04时的Tips2. 屏幕亮度调节问题3. 解决 "No Wi-Fi Adapter Found"4. Nvidia Driver && cuda5. 修改安装源6. ssh 远程开发7. 安装 anaconda 准备 没有装双系统&#xff0c;只有 ubuntu20.04&…

【ZYNQ 开发】填坑!双核数据采集系统LWIP TCP发送,运行一段时间不再发送且无法ping通的问题解决

问题描述 之所以说是填坑&#xff0c;是因为之前写了一篇关于这个双核数据采集系统的调试记录&#xff0c;问题的具体表现是系统会在运行一段时间后&#xff08;随机不定时&#xff0c;长了可能将近两小时&#xff0c;短则几分钟&#xff09;&#xff0c;突然间就不向电脑发送数…

电脑文件夹如何加密保护?文件夹加密方法有哪些?

在信息时代&#xff0c;数据安全已成为广大用户关注的焦点。电脑文件夹中往往存放着重要的文档、照片、账单等隐私信息&#xff0c;一旦泄露&#xff0c;后果不堪设想。因此&#xff0c;为电脑文件夹加密保护显得尤为重要。本文将介绍几种常见的文件夹加密方法&#xff0c;帮助…

【二叉平衡搜索树】Treap

前置 本篇是平衡树-treap的补充学习笔记。 Treap - 树堆 学习基础&#xff1a;适合一定基础的&#xff1a;比如&#xff0c;实现了经典二叉搜索树&#xff08;常用的几个函数写过&#xff09;&#xff0c; 和二叉堆&#xff08;数组的上浮下沉会写吗&#xff1f;&#xff09;&a…

LDRA Testbed(TBrun)软件集成测试(部件测试)_操作指南

系列文章目录 LDRA Testbed软件静态分析_操作指南 LDRA Testbed软件静态分析_自动提取静态分析数据生成文档 LDRA Testbed软件静态分析_Jenkins持续集成&#xff08;自动静态分析并用邮件自动发送分析结果&#xff09; LDRA Testbed软件静态分析_软件质量度量 LDRA Testbed软件…

工厂模式和抽象工厂模式的实验报告

1. 实验结果&#xff1a; 记录并附上不同模型对象&#xff08;例如&#xff1a;士兵、机器人、骑士&#xff09;的展示效果截图。 2. 性能分析&#xff1a; 记录并比较抽象工厂模式与直接实例化的性能测试结果&#xff0c;分析它们在不同数量级对象创建时的开销与效益。 2.1…

系统架构设计师 - 案例特训专题 - 数据库设计篇

案例特训专题 - 数据库设计篇 数据库设计篇规范化与反规范化 ★★★规范化 - 范式反规范化 数据库索引数据库视图数据库分区分表分库分区分区的常见方式 分表分库 分布式数据库 ★★★NoSQL ★★★其他数据库扩展知识 ★★★数据库性能优化集中式数据库优化分布式数据库优化 大…