glTF JSON (.gltf)

ISO/IEC 標準

GL 傳輸格式(glTF)是開放標準且免權利金的 JSON 規格,供 WebGL、WebGPU、遊戲引擎和原生應用程式有效率地傳輸與載入 3D 場景和模型。

將 GLTF 轉換為 GLB

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

檢查與中繼資料

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

在這裡選擇或拖放檔案

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

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

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

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

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

7B 0A 20 20 22 61 73 73 65 74 22

ASCII 表示法: {\n "asset"

標準化: ISO/IEC 12113:2022 / Khronos 開放標準

技術規格

容器架構描述場景圖、節點、網格、存取器、材質與動畫的易讀 JSON 文件,並參照外部緩衝區
壓縮外部紋理(PNG、JPEG、WebP)與選用的 Draco 幾何壓縮
位元組序UTF-8 JSON 文字(參照 Little-Endian .bin 緩衝區)
色彩空間sRGB 基本顏色, 線性粗糙度/金屬度
色版與結構場景階層、節點、相機、PBR 材質、骨架綁定與變形目標
最大尺寸不限範圍的座標空間與三角形數量
透明度Alpha 模式 BLEND、具備裁切閾值的 MASK,或是體積透射
串流與漸進式glTF 將場景描述與二進位幾何及紋理資料分離,因此檢視器可以依需求載入元件,而不必等待單一龐大的檔案。

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

技術屬性glTF (目前)GLBOBJFBX
檔案架構JSON 場景文字 + 隨附的 .bin/紋理單一獨立二進位檔案純文字頂點與面 + .mtl專有二進位/ASCII 容器
PBR 材質標準標準化金屬度 - 粗糙度 PBR標準化金屬度 - 粗糙度 PBR傳統 Phong / Lambert 材質自訂專有材質
動畫支援骨架綁定與變形目標骨架綁定與變形目標無(僅限靜態幾何)複雜動畫與骨骼
執行階段效能針對 WebGL 與即時引擎最佳化針對 WebGL 與即時引擎最佳化需要緩慢的解析與重建需要複雜的桌面 SDK 解析

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

3D 引擎錯誤:「Failed to load buffer: URI not found」。

根本原因: 隨附的 .bin 二進位檔案或紋理圖片未與 .gltf 檔案放在一起。

修復: 將所有隨附檔案一起封裝,或使用 File2File.app 直接轉換為單一 GLB 檔案。

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

glTF JSON 檔案會參照外部 URI(資料 URI 或遠端 URL),這可能會觸發伺服器端請求偽造(SSRF)或路徑遍歷。

已知攻擊向量

  • 透過相對緩衝區 URI 進行路徑遍歷(例如「uri: ../../../etc/passwd」)。
  • 透過伺服器端 3D 縮圖產生器中的遠端網路緩衝區擷取來進行 SSRF。
  • 透過格式錯誤的遞迴節點階層循環來進行阻斷服務攻擊。

防禦最佳實務: 載入前請禁止遠端 URL,並標準化所有本機緩衝區 URI 路徑。

歷史起源與里程碑

2022glTF 2.0 獲批為 ISO/IEC 12113:2022 國際標準。
2017Khronos Group 發布 glTF 2.0,將基於物理的算繪(PBR)標準化為核心功能。
2015glTF 1.0 於 SIGGRAPH 宣布,由 Fabrice Robinet、Neil Trevett 與 Tony Parisi 構思。

主要優勢與優點

  • 人類可讀的 JSON 結構允許進行程式化編輯、管線指令碼編寫和視覺化檢查。
  • 模組化設計:將輕量級場景中繼資料與龐大的二進位幾何(.bin)和紋理分開。
  • 基於物理的算繪(PBR)材質可以改善視覺一致性,但結果仍會因算繪器、燈光和設定而異。

技術限制與缺點

  • 多檔案管理較複雜:分享模型時,需要將 .gltf、.bin 與圖片紋理檔案壓縮或打包在一起。
  • 由於有多個 HTTP 請求,初始網路啟動速度比單一檔案的 GLB 稍慢。
  • 如果重新命名或移動隨附的紋理檔案,相對路徑相依性可能會失效。

有趣的技術冷知識

  • glTF 被正式暱稱為「3D 的 JPEG」,因為它專門針對執行階段傳輸與顯示,而非內容創作。
  • Khronos Group 引入 glTF,旨在簡化用於網路與行動應用程式的 3D 資產傳輸。
  • NASA 提供探測車、衛星和太空人的 3D 模型,供大眾以 glTF 格式下載。

常見技術問題

為什麼我的 glTF 檔案遺失顏色或形狀?

.gltf 檔案只包含 JSON 場景指令,需搭配隨附的 .bin 檔案取得 3D 形狀,並搭配 .png/.jpg 檔案取得顏色。請確認所有隨附檔案都在同一個資料夾中。

如何將 glTF 檔案轉為單一 GLB 檔案?

將您的 .gltf 檔案及隨附的 .bin 與紋理檔案加入 File2File.app,即可在瀏覽器中立即將它們合併為單一、獨立的 .glb 檔案。

有哪些程式支援 glTF?

Blender、Three.js、Babylon.js、Unity、Unreal Engine、Godot 與 Windows 3D 檢視器都內建支援 glTF。