GLB 查看器和 glTF 检查器
打开一个 3D 模型,看看其中究竟包含什么。将 GLB、glTF、FBX、OBJ、STL、PLY 或 Collada 文件拖放到下方,即可在屏幕上查看模型和完整分析结果:场景图、所有材质和纹理、这些纹理将占用多少显存、绘制调用次数、三角形和顶点数量、骨骼,以及可直接播放的所有动画。文件不会上传,而是在浏览器中读取。
看清文件里到底有什么。
场景图、每一个材质和纹理、这些纹理在显存里的真实开销、绘制调用、骨骼以及每一段动画。Draco、Meshopt 和 KTX2 文件同样可以打开,而且不会上传任何内容。
Exported by Khronos glTF Blender I/O v4.3
检查器能告诉你什么
大多数模型查看器只会显示模型。但真正有用的问题通常是:它为什么运行缓慢、为什么显示不正确,或者为什么完全无法加载。要回答这些问题,就需要查看背后的数据。
绘制调用往往比三角形数量更能决定帧率。每个使用独立材质的网格都是发送给 GPU 的一条单独指令。如果一个模型导出为两百个独立对象,即使几何体很小,在手机上也会卡顿。状态栏中的计数器显示的是渲染器每帧的实时数据,而不是估算值。
纹理显存占用常常出人意料。一张 2048×2048 的纹理在包含 Mipmap 后,会占用约 22 MB 显存,无论压缩后的 PNG 文件有多小。四张这样的纹理就可能用掉移动端浏览器所能提供的大部分显存。“纹理”选项卡会列出每张纹理的实际显存占用,并按从大到小排列,通常能直接找出问题所在。
场景图展示文件的实际组织方式:你的“单个模型”是否由四十个嵌套节点组成,导出工具是否在文件中遗留了摄像机和灯光,以及骨骼从哪里开始。骨骼链默认保持折叠,直到你主动展开,因为一个绑定后的角色可能包含数百个节点。
扩展会告诉你文件是否经过压缩以及使用了何种压缩方式。KHR_draco_mesh_compression 和 EXT_meshopt_compression 表示几何体已压缩,KHR_texture_basisu 表示纹理采用 KTX2 格式。此查看器支持加载这三种扩展。
为什么文件可能无法在其他地方打开
大多数“查看器什么也不显示”的问题都来自以下两种情况。
.gltf 文件并非自包含文件。它是一个 JSON 文件,其中的几何体指向单独的 .bin 文件,纹理则指向单独的图像文件。只打开 .gltf 会得到空场景或错误。请一次性拖入整个文件夹、同时选中所有文件,或者将文件夹压缩为 zip 后拖入,此工具会重新关联所有引用。.glb 则将所有内容打包在一个二进制文件中,因此更适合作为 Web 端格式。
经过 Draco 压缩的 GLB 需要解码器,而许多查看器并未内置这种解码器。如果文件能在 Blender 中打开,却无法在 Web 查看器中打开,通常就是这个原因。此处只会在文件需要时按需加载解码器。
如何处理发现的问题
如果数据不理想,可以使用以下独立工具进行修复,而且它们都在浏览器中运行:
使用 GLB 优化器处理文件,可移除未使用的节点、合并重复材质、使用 Draco 或 Meshopt 压缩几何体,并缩小尺寸过大的纹理。一次处理通常就能解决大多数绘制调用和下载体积问题。
如果问题在于纹理显存占用,请将纹理转换为 KTX2。它们会在显存中保持 GPU 压缩状态,而不是展开成原始像素,通常能将 22 MB 的占用降至 3 MB 或 6 MB。
如果模型还不是 GLB,请先将 FBX 或 OBJ 转换为 GLB。
如果角色没有骨骼,自动绑定工具可以添加骨骼,而动画库可将 260 个免费动作重定向到角色上。
常见问题
如何打开 GLB 文件?
将它拖放到上方的区域即可。GLB 是包含网格、材质和纹理的单个二进制文件,因此不需要其他文件。它无需安装,也无需上传,可直接在浏览器中打开。
如何打开带纹理的 .gltf 文件?
请同时选择 .gltf、对应的 .bin 文件和纹理图像,或者将整个文件夹压缩为 zip 后拖入。.gltf 使用相对路径引用这些文件,因此缺少它们就无法渲染。此工具会将引用与您拖入的文件进行匹配。
可以在线查看 FBX 文件吗?
可以。将 .fbx 拖放到此处,即可加载其中的材质和动画。FBX 是一种二进制格式,也可能从外部引用纹理,因此如果模型附带纹理文件,请一并添加。如果需要将 FBX 转为 Web 游戏使用的 GLB,请使用转换器。
此工具会上传我的模型吗?
不会。所有文件都通过浏览器自身的文件 API 读取,并使用 WebGL 在本地渲染。任何内容都不会离开您的设备,这也意味着页面加载完成后可以离线使用。
为什么我的模型看起来发黑或异常光亮?
几乎总是因为 PBR 材质的金属度设置过高,却没有可供反射的环境。因此,此查看器会使用经过滤波的室内环境为模型照明,并可通过“灯光”滑块调整曝光。如果材质看起来仍然不正确,请在“材质”选项卡中检查是否存在意料之外的金属度贴图。
为什么这里显示的三角形数量比 Blender 中更多?
Blender 统计的是面,其中四边形算作一个面,但实际上由两个三角形组成。GPU 只能绘制三角形,因此基于四边形的模型在导出后,数量通常会接近翻倍。此处显示的是 GPU 实际处理的数量。
可以显示动画吗?
可以。文件中的所有动画片段都会列在“动画”选项卡中,并显示持续时间和轨道数量,点击即可播放。此外还有速度控制功能,“骨骼”按钮则可叠加显示骨架,让您看到网格是如何被驱动的。