当前位置: 首页 > news >正文

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

一、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/
在这里插入图片描述

相关文章:

  • Linux网络之UDP与TCP协议详解
  • 水面巡检船垃圾漂浮物检测系统源码分享
  • AI智能时代:哪款编程工具让你的工作效率翻倍?
  • 前端vuex
  • 【HarmonyOS】分页滚动文本组件
  • C++不同的头文件中各种函数的操作使用(长期更新,找到新的就补充进来)
  • IntelliJ IDEA 2024.1.4 (Ultimate Edition)找不到Add Framework Support解决方法
  • 【MySQL】基本查询
  • 侧边菜单的展开和折叠
  • 领域驱动DDD三种架构-分层架构、洋葱架构、六边形架构
  • 通过openAI的Chat Completions API实现一个支持追问的ChatGPT功能集成
  • 初试AngularJS前端框架
  • 【AI驱动 TDSQL-C Serverless 数据库技术实战营】AI赋能电商数据管理
  • 【AI大模型】向量及向量知识库
  • C++的智能指针
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Asm.js的简单介绍
  • Java反射-动态类加载和重新加载
  • mysql innodb 索引使用指南
  • Node项目之评分系统(二)- 数据库设计
  • OSS Web直传 (文件图片)
  • passportjs 源码分析
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 入口文件开始,分析Vue源码实现
  • 实战|智能家居行业移动应用性能分析
  • 收藏好这篇,别再只说“数据劫持”了
  • gunicorn工作原理
  • ​​​​​​​​​​​​​​Γ函数
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​Java基础复习笔记 第16章:网络编程
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • #Java第九次作业--输入输出流和文件操作
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (06)Hive——正则表达式
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (三)mysql_MYSQL(三)
  • (四)JPA - JQPL 实现增删改查
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)创业家杂志:UCWEB天使第一步
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .pop ----remove 删除