glTF 二進位 (.glb)

ISO/IEC 標準

二進位 glTF (GLB) 是 glTF 2.0 標準的獨立單一檔案二進位封裝,在基於網頁的 3D 圖形、擴增實境 (AR) 與即時遊戲引擎領域中,被廣泛譽為「3D 的 JPEG」。

將 GLTF 轉換為 GLB

免費的瀏覽器端 GLTF 轉 GLB 轉換器。在您的裝置上即時轉換檔案。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 GLB 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 GLB 檔案:

十六進位簽章(偏移量 0):

67 6C 54 46

ASCII 表示法: glTF

標準化: ISO/IEC 12113:2022 / Khronos Open Standard

技術規格

容器架構12 位元組二進位標頭('glTF'、版本、長度),後接 JSON 區塊(CHUNK 0)與二進位緩衝區區塊(CHUNK 1)
壓縮DRACO 網格幾何圖形壓縮、KHR_texture_basisu(KTX2/Basis Universal GPU 紋理)與 ExtMeshopt
位元組序小端序(Intel x86 / WebGL 標準)
色彩空間sRGB 紋理, 線性 PBR 粗糙度/金屬度通道
色版與結構PBR 材質(金屬度 - 粗糙度)、蒙皮骨架網格、變形目標、動畫、相機與燈光
最大尺寸無限制的頂點與三角形數量(支援多 GB 模型)
透明度Alpha 遮罩(MASK)、Alpha 混合(BLEND)與體積透射
串流與漸進式包含二進位區塊的單一獨立檔案,軟體可進行解析並上傳至 GPU 緩衝區

技術比較矩陣:GLB 對比競爭格式

技術屬性GLB (目前)GLTFUSDZFBX
封裝模型單一獨立二進位檔案JSON + 外部 .bin 與紋理檔案USD 架構與紋理的 ZIP 壓縮檔專屬 Autodesk 二進位/ASCII
網路與 AR 標準支援情況因軟體而異。支援情況因軟體而異。Apple iOS Quick Look AR 標準桌面遊戲引擎匯入標準
材質模型標準化 glTF PBR 金屬 - 粗糙度標準化 glTF PBR支援情況因軟體而異。專屬 Phong/Lambert/PBR 著色器
GPU 讀取效能即時(直接記憶體對映)快速(多次網路請求)快速(未壓縮的 ZIP 項目)緩慢(需要複雜的解析)

常見損壞模式與十六進位修復指南

3D 模型算繪時缺少紋理或顯示為純黑色表面。

根本原因: 損壞的內嵌紋理區塊或缺少 PBR 金屬 - 粗糙度紋理參照。

修復: 使用 File2File.app 3D 轉換器或 glTF-Transform 檢查並修復區塊偏移量。

安全性分析與解析器攻擊向量

GLB 剖析器會處理 JSON 文字區塊與任意二進位緩衝區的結合,如果緩衝區長度不符合,可能會觸發緩衝區溢位。

已知攻擊向量

  • 當 bufferView 的 byteOffset 加上 byteLength 超過二進位區塊長度時,會發生緩衝區過度讀取。
  • 在 WebGL drawElements 執行期間,發生超出範圍的頂點索引讀取。
  • 透過異常的 Draco 解壓縮迴圈造成阻斷服務。

防禦最佳實務: 嚴格驗證所有 accessor 和 bufferView 的位元組範圍是否皆落在宣告的二進位區塊邊界之內。

歷史起源與里程碑

2022glTF 2.0 與 GLB 經 ISO/IEC 國際標準化為 ISO/IEC 12113:2022。
2018Google 採用 GLB 作為 Android Scene Viewer 與網頁 <model-viewer> AR 體驗的標準 3D 格式。
2015Khronos Group 推出 GLB 作為 glTF 生態系統的單一檔案二進位容器。

主要優勢與優點

  • 完全獨立:將 3D 幾何圖形、PBR 材質、紋理(PNG/JPEG/KTX2)與骨架動畫封裝在一個檔案中。
  • 二進位區塊可以減少載入場景資料所需的工作,但應用程式仍會剖析 glTF 中繼資料,並為其算繪管線準備資源。
  • WebGL、WebGPU、電子商務 3D 產品預覽以及行動擴增實境無庸置疑的標準。

技術限制與缺點

  • 二進位性質使得在沒有專門 3D 工具的情況下難以進行手動文字檢查或編輯。
  • 使用進階壓縮擴充功能時,需要 Draco 或 Basis Universal 解壓縮函式庫。
  • Apple 平台偏好將 USDZ 用於原生 iOS Quick Look AR,需要從 GLB 進行格式轉換。

有趣的技術冷知識

  • GLB 檔案開頭是 4 位元組的檔案簽章(magic bytes)0x67 0x6C 0x54 0x46,代表 ASCII 字串「glTF」。
  • 當您在智慧型手機的網頁瀏覽器上檢視 3D 運動鞋時,幾乎可以確定看到的是互動式 GLB 模型。
  • GLB 的設計目的是讓圖形硬體能直接將頂點緩衝區從磁碟讀入 VRAM,無須轉換。

常見技術問題

glTF 與 GLB 有什麼不同?

glTF 是一個參照外部 .bin 幾何圖形和獨立圖片紋理檔案的 JSON 檔案。GLB 則是將整個組合打包成單一且緊湊的二進位檔案。

如何將 GLB 轉換為 Apple AR 的 USDZ?

您可以使用 File2File.app 直接在網頁瀏覽器中一鍵將 GLB 模型轉換為 Apple 支援的 USDZ 檔案。

我可以在 Blender 中開啟 GLB 檔案嗎?

可以。Blender 內建高效能的 glTF / GLB 匯入與匯出功能,直接整合在軟體中。