glTF 轉 GLB 轉換器
glTF 匯出的結果通常包含三種檔案:一個 .gltf JSON、一個或多個 .bin 緩衝區,以及一個貼圖資料夾。GLB 則是把同一個模型打包成單一二進位檔,上傳表單、檢視器和 AR 應用程式要的正是這種格式。
3D 模型轉換器
或將STL, OBJ, MTL … 檔案拖曳到這裡 ·
每個檔案最大 95 MB· 最多 20 個檔案· 30 分鐘後刪除
檔案會在我們的伺服器上處理,並於 30 分鐘後刪除。
STL 和 OBJ 不儲存單位。如果零件在切片軟體中顯示成大或小 10 倍或 25.4 倍,代表單位讀取錯誤,請在此設定。
Blender、CAD 程式和切片軟體使用 Z 軸向上;glTF、Unity 和多數遊戲引擎使用 Y 軸向上。若匯入後模型側躺,請切換此選項。
將 STEP 或 IGES 實體轉換為網格時使用。精細的曲線較平滑但檔案較大;粗略已足夠快速預覽。
僅用於 PNG、JPG 或 SVG 輸入。浮雕會讓暗部隆起;浮雕燈罩(lithophane)是從背面打光時會顯示照片的薄板;擠出則會把標誌或 SVG 輪廓變成扁平的實心形狀。
列印模型的寬度;高度依圖片長寬比自動決定。
浮雕或浮雕燈罩的最大隆起高度,或擠出形狀的厚度。浮雕燈罩通常使用 2–3 mm。
浮雕下方的實心底板,讓列印件結合穩固。0 表示沒有底板。
使用方式
- 1
將 glTF 資料夾壓縮成 ZIP
將 .gltf、其 .bin 檔案與紋理圖片放進同一個 ZIP,保留匯出時產生的資料夾結構,然後上傳。內嵌資料的獨立 .gltf 可以單獨上傳。最多 20 個檔案,每個 95 MB。
- 2
模型保持原樣即可
模型單位維持 m,向上軸維持保持原樣,因為有效的 glTF 本來就是公尺單位、Y 軸向上。保留紋理與材質已開啟,所有圖片都會嵌入。
- 3
轉換為 GLB
按下轉換為 GLB,每個模型下載一個檔案。上傳的檔案與結果會在 30 分鐘後刪除。
glTF 與 GLB 有什麼差別?
兩者儲存的是同一個 glTF 2.0 模型。.gltf 是可讀的 JSON,指向另外的 .bin 與圖片檔;GLB 則把 JSON、緩衝區與圖片打包成一個二進位檔案。
為什麼要把 glTF 打包成 GLB
Khronos Group 在 2017 年發布 glTF 2.0,把它設計為傳輸格式:位於 3D 工具與顯示模型的一方之間的最後一步。JSON 形式對開發者很友善,因為可以閱讀與編輯,但實際上相當脆弱。只要改了紋理名稱、上傳 .gltf 卻沒帶 .bin,或讓 CMS 去掉資料夾結構,模型載入時就會缺少幾何或出現白色表面。
GLB 把所有東西放進一個容器,解決了這個問題。Shopify 商品媒體、Android 的 Scene Viewer、Google 的 model-viewer 與多數素材市集都因此要求 GLB。轉換是無損的:轉換器讀取 JSON,載入它引用的每個緩衝區與圖片,寫入同一個二進位區塊,並把參照改為指向檔案內部。
GLB 檔案的結構
- 標頭:魔術字 glTF、版本 2 與總長度
- 12 位元組
- 先是 JSON,再是含緩衝區與圖片的一個 BIN 區塊
- 2 個區塊
- 每個區塊填補對齊的單位
- 4 位元組
- 取代 .gltf + .bin + 紋理
- 1 個檔案
GLTF
GL Transmission Format
glTF 是 Khronos Group 於 2015 年首度發佈的開放 3D 格式,常被稱為「3D 界的 JPEG」。.gltf 檔案是描述場景的 JSON,通常搭配另外的 .bin 幾何檔和貼圖圖片檔。它支援 PBR 材質、動畫和蒙皮,專為高效率的即時算圖而設計。分享時這些分開的檔案可能遺失,因此常偏好使用單一檔案的 GLB 形式。
- 壓縮方式
- –
- 透明度
- –
- 動畫
- 支援
- 推出年份
- 2015 · Khronos Group
GLB
glTF Binary (GLB)
GLB 是 glTF 2.0 的二進位形式,而 glTF 是 Khronos Group 於 2017 年發佈的 3D 傳輸格式。它把幾何、PBR 材質、貼圖和動畫打包成單一精簡檔案,專為快速載入而設計。GLB 廣泛用於網頁 3D、AR 檢視器、Android Scene Viewer 和線上模型市集。部分較舊的桌面 3D 工具和 CAD 程式無法匯入。
- 壓縮方式
- –
- 透明度
- –
- 動畫
- 支援
- 推出年份
- 2017 · Khronos Group
glTF 轉 GLB 是封裝步驟:上傳表單、Android AR 與網頁檢視器都需要單一的獨立模型,所以大家會把 .gltf、其 .bin 緩衝區與紋理打包成一個檔案。
解決找不到 .bin 與貼圖的錯誤
GLB 沒有幾何,或轉換失敗
沒有上傳 .bin 緩衝區。請與 .gltf 一起壓成 ZIP,並保持 JSON 所引用的相同檔名。
表面是白色或灰色
紋理遺失。用文字編輯器開啟 .gltf,檢查圖片的 uri 項目,並把這些檔案以相同的相對路徑放進 ZIP。
紋理路徑以 C:\ 或 /Users 開頭
匯出器寫入了絕對路徑。請改用相對路徑重新匯出,或把圖片移到 .gltf 旁邊,並將 uri 改成單純的檔名。
紋理是 KTX2 或 WebP
這些需要 KHR_texture_basisu 或 EXT_texture_webp 擴充,部分檢視器並不支援。請改用 PNG 或 JPEG 重新匯出,以獲得最廣泛的支援。
glTF 轉 GLB 常見問題
glTF 轉 GLB 會改變模型嗎?
不會。網格、材質、節點名稱、動畫與蒙皮都會原樣複製,只有封裝方式改變。JSON 會移到 GLB 的第一個區塊,緩衝區與圖片則放進二進位區塊。
為什麼要上傳 ZIP,而不是只上傳 .gltf?
分開檔案的 glTF 只是以相對路徑指向 .bin 與紋理。單獨上傳時,這些連結無處可指,GLB 會缺少幾何或圖片。把資料夾壓成 ZIP,就能讓所有被引用的檔案都在 .gltf 旁邊;我們的在任何裝置上解壓縮檔案指南也介紹了反向的操作。
GLB 會比原本的 glTF 小嗎?
和把所有內容以 base64 文字內嵌的 .gltf 相比,是的,大約小四分之一,因為 base64 會讓二進位資料膨脹約三分之一。和 .gltf 加 .bin 與圖片相比,總大小差不多;好處是只剩一個檔案。
支援 Draco 壓縮的 glTF 檔案嗎?
使用 KHR_draco_mesh_compression 擴充的 glTF 會被讀取,幾何也會保留。如果需要最小的網頁檔案,請用 glTF-Transform 等工具對完成的 GLB 套用 Draco 或 meshopt 壓縮。
可以把 GLB 轉回分開的 glTF 檔案嗎?
可以。上傳 GLB,並在3D 模型格式轉換的轉換為中選擇 glTF。當您想手動編輯 JSON,或不重新匯出就更換紋理時很實用。
哪些軟體匯出的 glTF 可以用這種方式打包?
Blender 的 glTF 匯出器可以直接輸出 glTF Separate 或 GLB,Sketchfab 下載、Substance 工具與多數遊戲引擎的匯出器也可以。如果您的工具只提供分開的形式,這個頁面能幫您得到單一檔案。