GLB 在线查看器

在浏览器中打开 GLB 文件,查看其中打包的内容:三角面、纹理、动画和文件大小。免费,无需上传。

在线打开 GLB 文件

这个 GLB 查看器在浏览器中打开 .glb 文件。拖进页面后,可以旋转模型、播放动画,并看到文件里打包了哪些内容。文件只在你的设备上读取,不会上传;模型是未发布的产品或客户的资产时,这一点很重要。

GLB 是 glTF 2.0 的单文件二进制形式。大多数网页 3D 展示、商品 3D 配置器和 AR 体验加载的都是 GLB,所以上线前最常需要检查的也是它。

GLB 文件里装了什么

GLB 是一个简单的容器,分三部分:以字母 glTF 开头的 12 字节文件头,一段描述场景的 JSON,以及一段存放所有大块数据的二进制区。几何体、蒙皮权重、动画关键帧和纹理图片都在二进制区里,所以一个 GLB 可以替代一个 .gltf、一个 .bin 和一整个图片文件夹。

加载后,信息面板会告诉你文件实际包含什么:

顶点和三角面
真实的几何开销。网页用的商品模型通常几万个三角面就够了;上百万一般意味着没有优化过的扫描或 CAD 导出。
网格和材质
网格或材质数量多,意味着绘制调用(draw call)多。在手机上,这往往比三角面数更影响渲染速度。
纹理
文件里打包的图片数量。纹理常常是 GLB 中最大的部分。
动画
动画片段的数量。可以播放,也可以在片段列表中切换。
包围盒
模型的尺寸。glTF 的单位是米,一把椅子应该在 1 左右,而不是 100 或 0.01。比例不对,在 AR 里摆放时会大得或小得离谱。
文件大小
访问者需要下载的大小。和三角面数、纹理数对照,就能看出体积花在哪里。

GLB 文件太大:先看纹理,再看压缩

GLB 的几何体通常有两种压缩方式:Draco(KHR_draco_mesh_compression 扩展)和 meshoptimizer(EXT_meshopt_compression 扩展)。这个查看器两种都能打开。打开 Draco 文件时会从本站下载一个小型 Draco 解码器,在本地解码,你的模型不会被发送到任何地方。

如果 GLB 很大,三角面数却不多,问题就在纹理。几张 4096 × 4096 的 PNG 贴图加起来很快就是几十 MB。缩小贴图尺寸,或者对不需要透明的贴图改用 JPEG,减小的体积往往比网格压缩多得多。glTF Transform、gltfpack 等命令行工具可以批量处理。

使用 KTX2 / Basis Universal 压缩纹理(KHR_texture_basisu 扩展)的 GLB 在这里不受支持。文件把这个扩展列为必需时(通常如此),模型无法打开;只列为已使用时,模型能打开,但不显示这些纹理。

检查 AI 生成的 3D 模型

Tripo、Meshy、混元 3D 这类图生 3D 工具给出的是 GLB:一个网格,颜色烘焙在贴图里。用之前在这里打开转一圈看看:模型背面是生成时靠猜的,问题多藏在那里。

信息面板会告诉你拿到的是什么。生成的网格往往很密,几万到几十万个三角面,尺寸通常只有 1 个单位左右。放到网页上之前看一眼三角面数,打印之前看一眼尺寸。

要打印它,用GLB 转 STL。

GLB 用在哪里

商品展示:Shopify 等不少电商平台接受 GLB 格式的 3D 商品模型,常用的 model-viewer 网页组件也加载 GLB。

安卓上的 AR:Google 的 Scene Viewer 可以在 AR 中显示 glTF 和 GLB,它依赖 Google 服务,在国内安卓设备上能否使用取决于手机是否装有相应服务。iPhone 和 iPad 用的是 USDZ,所以同时支持两个平台的商品通常各准备一份 GLB 和 USDZ。

游戏和实时应用:Three.js、Babylon.js、Godot 等引擎可以直接导入 glTF 和 GLB,微信小程序的 XR-FRAME 也能加载 glTF 模型。Blender 导出时选择 glTF Binary 即可得到 GLB。

要为 iPhone 制作同一个模型的 AR 版本,可以用GLB 转 USDZ。

需要可编辑的 .gltf 时

GLB 里的内容都是二进制,没法用文本编辑器打开来看材质或改纹理路径。在查看器里把模型下载为 glTF,可以得到一个可读的 .gltf 文件,缓冲区和纹理以 data URI 的形式内嵌在里面。但它是重新导出的结果,不是原文件的 JSON:Draco 压缩会被去掉,材质转换为 PBR,不认识的扩展会被丢弃,纹理会重新编码,超过 4096 像素的会缩小。

也可以保存为 OBJ、STL、PLY 或 USDZ。STL 用于 3D 打印,只保留形状;OBJ 输出只有几何体,不含材质和纹理。

处理分成多个文件的 glTF 导出,可以看glTF 在线查看器。

常见问题

GLB 文件怎么打开?

把文件拖到这个页面上,或点击“选择文件”。GLB 查看器在电脑和手机的现代浏览器中都能运行,不需要安装任何软件。

GLB 文件会被上传吗?

不会。模型由你的浏览器读取和渲染,不上传,所以未发布或保密的模型也可以放心查看。

能打开 Draco 压缩的 GLB 吗?

能,Draco 和 Meshopt 两种压缩都支持。两种都在浏览器本地解码,模型留在你的设备上。

GLB 和 glTF 有什么区别?

格式相同,打包方式不同。GLB 是一个二进制文件,所有内容都在里面;.gltf 是 JSON 文本,通常引用外部的 .bin 和图片文件。发布和分享用 GLB,需要阅读或修改 JSON 时用 glTF。

GLB 文件为什么这么大?

多数是纹理造成的。在信息面板里对照纹理数和文件大小。大尺寸 PNG 贴图很占空间,缩小尺寸或改用 JPEG 通常比网格压缩更有效。另一个常见原因是扫描或 CAD 导出的三角面数过高。

GLB 在这里为什么没有贴图?

文件很可能用了 KTX2 / Basis Universal 纹理,这个查看器不支持。如果文件把这个扩展列为必需,模型根本打不开;只列为已使用时,模型能打开,但不显示这些纹理。其他 GLB 的纹理都打包在文件里,一般都能正常显示。

GLB 能在 iPhone 上用 AR 查看吗?

不能直接用。iPhone 和 iPad 的 AR 快速查看(AR Quick Look)使用 USDZ。把 GLB 转成 USDZ 给苹果设备用,GLB 留给安卓和网页。

相关工具