UltKit

OBJ 轉 GLB 轉換器

把 OBJ、它的 .mtl 檔和所有貼圖打包成一個 GLB,可在瀏覽器、商品頁面或 AR 檢視器中直接載入。上傳或分享模型時,不會再發生檔案之間連結失效的問題。

3D 模型轉換器

或將STL, OBJ, MTL … 檔案拖曳到這裡 ·

每個檔案最大 95 MB· 最多 20 個檔案· 30 分鐘後刪除

輸出

檔案會在我們的伺服器上處理,並於 30 分鐘後刪除。

使用方式

  1. 1

    上傳 OBJ 及相關檔案

    將 .obj、.mtl 和貼圖資料夾一起壓縮成 ZIP 後上傳;若只有 .obj,則會得到沒有貼圖的模型。最多 20 個檔案,每個不超過 95 MB。

  2. 2

    確認比例

    glTF 以公尺為單位。模型單位預設為 m,與 Blender 匯出的 OBJ 相符;如果 OBJ 來自 CAD 或 3D 列印工具,請在進階設定中選擇 mm。

  3. 3

    轉換為 GLB

    按下轉換為 GLB,再把檔案拖進 model-viewer、three.js editor 或 Windows 3D 檢視器等檢視工具確認結果。

OBJ 是一組檔案,少了任何一個就會出問題;GLB 則是同一個模型,把材質與貼圖打包成網頁可直接載入的單一檔案。

含貼圖的 OBJ

3 個以上檔案

model.obj · model.mtl · 貼圖圖片

傳輸過程中不會再遺失任何東西

GLB 結果

1 個檔案

網格、材質與貼圖皆已嵌入

為什麼網頁與 AR 檢視器要用 GLB 而不是 OBJ

Khronos Group 於 2017 年發布 glTF 2.0,作為 3D 內容的傳遞格式,並稱它是 3D 界的 JPEG:體積小、載入快,用來展示而非編輯。它定義了含基礎色、金屬度、粗糙度、法線與遮蔽貼圖的物理式渲染材質,把比例固定為每單位一公尺、Y 軸朝上,並將幾何資料存成 GPU 幾乎可以直接使用的緩衝區。GLB 是它的二進位容器,把 JSON 描述、幾何資料與圖片放進同一個檔案。

OBJ 的出現早於這一切。它的材質來自 1990 年代初期的 MTL 格式,是為當時的著色模型設計的,貼圖則是以相對路徑尋找的獨立檔案。如果只把 .obj 上傳到網站,模型會是灰色的;搬動 .mtl 後,貼圖又會找不到。因此 Google 的 model-viewer、three.js、Babylon.js 和 Android 的 Scene Viewer 都以 GLB 為預設,OBJ 只是備選。

OBJ

Wavefront OBJ

OBJ 是由 Wavefront Technologies 開發的 3D 幾何格式。它是純文字檔,列出頂點、貼圖座標、法線和面,材質與貼圖則由另一個 .mtl 檔案引用。幾乎所有 3D 建模軟體、遊戲引擎和 3D 列印工具都能匯入。OBJ 不支援動畫、骨架綁定或場景階層,而且如果 MTL 與圖片檔沒有放在一起,貼圖就會遺失。

壓縮方式
–
透明度
–
動畫
不支援
推出年份
Wavefront Technologies
OBJ 轉檔工具

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
GLB 轉檔工具

網頁檢視器、電商平台與 AR 應用都希望取得單一獨立檔案,並採用物理式渲染(PBR)材質,而 OBJ 卻分散在網格、MTL 和零散的貼圖圖片中,因此大家才會把 OBJ 轉成 GLB。

轉換前如何準備 OBJ,才能得到乾淨的 GLB

建議避免
將 OBJ、MTL 和貼圖一起放進同一個 ZIP 上傳。匯出 OBJ 之後又重新命名貼圖檔案。
確認 .mtl 是以檔名引用貼圖,而不是你電腦上的完整路徑。在要給手機使用的模型上保留 8K 貼圖。
貼圖請使用 PNG 或 JPG;glTF 2.0 核心規格只支援這兩種。期待只有高光設定的材質在 PBR 光照下看起來完全一樣。
選對模型單位,模型才會以真實大小顯示。把 GLB 當作編輯用的母檔;請保留原始場景檔。

測試 GLB 及後續應用

發布前請先用檢視工具開啟結果。Windows 3D 檢視器、three.js 線上編輯器和 glTF Sample Viewer 都能直接拖入檔案,讓你確認貼圖是否載入、模型方向是否正確。如果模型是橫躺的,請把向上軸設為 Y 向上後重新轉換。

如果列印用的模型是 STL 而不是 OBJ,STL 轉 GLB 能做同樣的事,只是不需要處理材質。如果你拿到的是附有獨立 .bin 與圖片檔的 glTF,glTF 轉 GLB 會用與本頁處理 OBJ 相同的方式把它打包。

OBJ 轉 GLB 常見問題

為什麼模型在 GLB 檢視器裡變得超級巨大?

因為 OBJ 的數值原本是公釐,而 glTF 把每個單位都當成一公尺,所以 200 mm 的花瓶會變成 200 公尺高。請把模型單位設為 mm 後重新轉換,轉換器會將座標換算成公尺。

OBJ 的哪些材質設定會保留到 GLB?

漫反射顏色與漫反射貼圖會變成 glTF 的基礎色,凹凸貼圖或法線貼圖會變成法線貼圖,透明度也會保留。高光設定在 glTF 的金屬度/粗糙度模型中沒有直接對應,只能近似轉換,所以光澤較強的材質之後可能需要微調粗糙度。

可以把 GLB 放到 Shopify 商品頁面嗎?

可以。Shopify 支援 GLB 檔案作為 3D 商品媒體,並以可旋轉的檢視器顯示。Apple 裝置的 AR 另外需要 USDZ 版本,可以用 GLB 轉 USDZ 製作。

我的貼圖是 4K,GLB 會不會太大不適合網頁?

圖片會原樣嵌入,所以四張 4K 貼圖就可能讓檔案達到數十 MB。若模型要在手機上顯示,請在壓縮 OBJ 之前先把貼圖縮小到 1024 或 2048 px;在實際檢視大小下,模型看起來不會有差別。

GLB 和 glTF 有什麼差別?

兩者是同一種格式的兩種封裝方式。glTF 是 JSON 檔案,旁邊另有獨立的二進位檔與圖片檔;GLB 則把所有內容打包成單一二進位檔。GLB 更方便上傳與分享,所以多數平台都要求使用它。