Unity 在預設狀態下無法匯入 GLB(glTF)檔案。Unity 官方手冊列為預設支援的 3D 模型格式是 .fbx / .dae(Collada)/ .dxf / .obj,glTF 與 GLB 並不在其中(出處:Unity Manual - Model file formats,2026年7月時)。要使用 GLB,需要從 Package Manager 加入 Unity 官方提供的套件 Unity glTFast(com.unity.cloud.gltfast)。加入之後,只要把 GLB 複製到 Assets 資料夾,就會像其他 3D 格式一樣被匯入。
本文只聚焦在「讓 Unity 讀取 GLB」這個技術步驟本身。從把插畫轉換成 3D 模型,到綁定與動畫的實際情況,完整流程已整理在如何在Unity中把2D角色插畫3D化|轉換、匯入與讓角色動起來的條件,想了解整個工作流程的話,請先閱讀那篇。
※目前的 Figmee 是一項可以根據上傳的繪畫或插畫,產生並下載公仔風格圖像與 3D 模型資料(GLB / 3MF)的服務。實體 3D 列印品的販售正在準備中(Coming Soon)。
為什麼預設無法讀取
Unity 的設計是以 FBX 作為內部匯入路徑,官方手冊也建議「盡可能使用 .fbx 是最佳做法」。而 glTF 2.0 是 Khronos Group 制定的「在執行階段快速顯示用」的格式,在網頁與即時顯示領域被廣泛使用。由於兩者目的不同,glTF 才沒有被納入 Unity 核心。
| 格式 | Unity 預設支援 | 特點 |
|---|---|---|
| FBX | 支援 | Unity 的內部匯入路徑。擅長傳遞動畫與綁定 |
| OBJ | 支援 | 以形狀為主的簡單格式。材質存放在另一個檔案 |
| DAE(Collada) | 支援 | 以 XML 為基礎的交換格式 |
| DXF | 支援 | 用於與 CAD 類軟體交換資料 |
| glTF / GLB | 不支援(透過套件加入) | 可將顏色與材質貼圖包進一個檔案,容易與網頁顯示共用 |
各格式的特性差異已在OBJ、FBX、STL、GLB有什麼差別?3D檔案格式選擇指南中整理。如果手上的資料已經是 GLB,最直接的做法是不經轉換,直接用 glTFast 讀取。
安裝 Unity glTFast(約 3 分鐘)
Unity glTFast 是 Unity 提供的官方套件,設計上重視「速度、記憶體效率與較小的建置體積」。它支援 glTF 2.0 規格與眾多擴充,支援所有平台,以及 Built-in / Universal(URP)/ High Definition(HDRP)各渲染管線(出處:Unity glTFast Documentation,2026年7月時,版本 6.17.0)。
官方文件記載的安裝步驟如下(出處:Unity glTFast - Installation,2026年7月時)。
- 開啟 Unity 專案,選擇
Window > Package Manager(20 秒)。 - 按下狀態列的新增(+)按鈕(10 秒)。
- 從選單中選擇
Add + package by name(10 秒)。 - 在 Name 欄位輸入
com.unity.cloud.gltfast(20 秒)。請注意不要打錯字。這個 ID 才是官方套件的名稱,而不是舊版個人儲存庫沿用下來的名稱。 - 按下
Add(1 分鐘)。會自動取得最新版本。視網路環境而定,可能需要幾分鐘。
依用途加入的選用模組
glTFast 搭配 Unity 的內建套件或額外套件使用時,支援範圍會更廣。官方文件列出的有以下幾項。
- Image Conversion:支援 JPEG / PNG 材質貼圖
- Unity Web Request Texture:透過 URI 讀取圖片
- Animation:播放動畫
- Physics:產生碰撞體
- Draco for Unity / KTX for Unity / meshoptimizer decompression for Unity:使用對應的 glTF 擴充(網格壓縮、材質貼圖壓縮)時
不需要一開始就全部安裝。等出現「材質貼圖沒有顯示」「壓縮過的 GLB 打不開」之類的症狀時,再加入對應的模組就夠了。
匯入 GLB(約 2 分鐘)
安裝完成後,處理方式就和其他 3D 格式相同。
- 將 GLB 檔案移動或複製到專案的
Assets資料夾(30 秒)。官方文件說明:「可以像其他 3D 格式一樣,把 glTF 檔案移動/複製到專案的 Assets 資料夾。Unity glTFast 會將其匯入為 Unity 原生的預製物件,並加入資產資料庫」(出處:Unity glTFast - Editor Import,2026年7月時)。 - 如果是
.gltf格式,要把附屬檔案一起複製(30 秒)。同一份文件明確寫道:「別忘了一併複製附屬的緩衝區(.bin)與圖片檔。檔名與相對路徑不能變更,否則可能導致參照失效。」.glb是包在一個檔案裡的,所以沒有這個顧慮。這也是交付資料時常選用 GLB 的原因之一。 - 在 Project 檢視中選取檔案,查看 Inspector(1 分鐘)。匯入設定,以及警告、錯誤(如果有)都會顯示在這裡。讀取結果和預期不同時,先看這裡的資訊。
- 在 Project 檢視中展開檔案(30 秒)。匯入後的組成元素會列出 Scenes / Meshes / Materials / AnimationClips / Textures。想把個別網格或材質沿用到其他物件時,就從這裡取出。
- 拖曳到場景中放置(10 秒)。操作方式和一般預製物件相同。
關於副檔名關聯
glTFast 安裝後,會把自己註冊為 .gltf 與 .glb 的預設匯入器。也就是說,安裝之後不需要任何特別操作,這些副檔名的檔案就會自動透過 glTFast 讀取。
如果已經在使用其他 glTF 匯入器而發生衝突,可以在專案的腳本符號中加入 GLTFAST_FORCE_DEFAULT_IMPORTER_OFF,停用 glTFast 的預設匯入器註冊。在同時使用多個 glTF 類資產的專案中,若「讀取結果和預期不同」,請先懷疑實際運作的是哪一個匯入器。
如何解讀產生的子資源
在 Project 檢視中展開 GLB 後出現的 5 種內容,各自扮演不同角色。先掌握這些,日後遇到「只想沿用一部分」「只想替換材質」之類的需求時,就能迅速應對。
| 子資源 | 內容 | 常見使用情境 |
|---|---|---|
| Scenes | 節點的階層結構 | 放到場景中的本體。通常拖曳的就是它 |
| Meshes | 形狀資料 | 只把網格沿用到其他物件 |
| Materials | 顏色與質感設定 | 替換著色器/配合專案的呈現風格 |
| Textures | 圖片資料 | 依專案標準統一壓縮設定與解析度 |
| AnimationClips | 動畫 | 只有原始資料包含動畫時才會出現 |
AnimationClips 是空的,並不代表匯入失敗,而是表示原始 GLB 中沒有動畫。由一張畫產生的 3D 模型是靜態網格,因此這個項目通常是空的。
Materials 中列出的材質遵循 glTF 核心規格。glTF 材質由基礎色、金屬度、粗糙度、環境光遮蔽、法線貼圖、自發光等通道組成,在 Unity 端會被指派到專案的著色器上。覺得「比想像中更像金屬」「太亮太反光」時,要調整的通常就是金屬度與粗糙度這兩項。
也要認識其他選擇
在 Unity 中處理 glTF 的方法不只有 glTFast。Khronos Group 公開的 UnityGLTF(2026年7月時)是 Unity 用的執行階段 glTF 2.0 載入器/匯出器,同樣以開源方式提供。如果重視匯出功能,或現有專案已經採用它,它會是有力的選擇。
這不是誰比較好的問題,依專案需求(需要支援的擴充、是否需要匯出、既有資產)來選擇才務實。如果是新專案且只需要讀取,作為 Unity 官方套件、可從 Package Manager 安裝的 glTFast 導入起來比較簡單。
匯入後務必確認的 3 點
能讀取進來,不代表就能直接使用。
1. 材質與渲染管線
這是最常見的卡關點。glTFast 對 Built-in / URP / HDRP 全都支援,但如果專案的管線與材質的著色器不相符,就會顯示成全白、全黑或洋紅色(粉紅色)。洋紅色是 Unity 找不到著色器時的預設顯示,所以出現這個顏色時,請先懷疑管線不一致。同時也要確認場景中是否有放置燈光。
2. 縮放與原點
有時剛放置時,角色會大得誇張或小到極點。這是原始資料沒有依照實際尺寸製作時會發生的現象,並不是錯誤。可以用 Transform 的 Scale 調整,或和地面、既有物件並排來相對決定大小。原點(在腳底還是身體中心)也最好在這個階段確認,之後放置會更輕鬆。
3. 面數與顯示負載
AI 產生的模型或精心製作的模型,以即時顯示的標準來看,面數可能偏多。面數越多,繪製與處理負載越高,越是針對行動裝置影響越明顯(什麼是多邊形數?多了會怎樣?依用途的參考值與計算方法淺顯解說)。以同時要顯示幾個角色為基準,必要時先在 Blender 等軟體中減面,再重新匯入。
疑難排解表
| 症狀 | 可能原因 | 處理方式 |
|---|---|---|
| 放入 GLB 後沒有任何反應 | 尚未安裝套件 | 在 Package Manager 中加入 com.unity.cloud.gltfast |
| 運作的匯入器和預期不同 | 與其他 glTF 資產衝突 | 用 GLTFAST_FORCE_DEFAULT_IMPORTER_OFF 切換 |
| 顯示成洋紅色(粉紅色) | 著色器與管線不一致 | 替換成符合專案管線的著色器 |
.gltf 的材質貼圖沒有出現 | 沒有複製 .bin 或圖片檔 | 將附屬檔案以相同相對路徑一起放置 |
| 壓縮過的 GLB 打不開 | 尚未安裝對應擴充的模組 | 加入 Draco / KTX / meshoptimizer 各套件 |
| 顯示成全黑 | 場景中沒有燈光 | 放置燈光,並在材質預覽中確認 |
| 無法活動、無法改變姿勢 | 沒有骨架 | 需要另外進行綁定(什麼是綁定?) |
常見問題
Unity 預設有 glTF / GLB 的匯入功能嗎?
沒有。Unity 官方手冊列為預設支援的格式是 .fbx / .dae / .dxf / .obj。要使用 GLB,需要從 Package Manager 加入 Unity 官方套件 glTFast(com.unity.cloud.gltfast)。加入後它會註冊為這些副檔名的預設匯入器,之後就能像一般資產一樣處理。
先轉成 FBX 再匯入,和直接匯入 GLB,哪一種比較好?
如果手上已經有 GLB,不經轉換直接用 glTFast 讀取,步驟較少,也比較不會遺漏顏色或材質貼圖。另一方面,如果整個團隊的交付格式統一為 FBX,或需要交換含動畫的資料,選擇 FBX 也是合理的判斷。這個格式的特性在GLB檔案是什麼?開啟方式、用途與轉換方法簡單解說中有說明。
可以在執行階段(遊戲中)讀取 GLB 嗎?
可以。glTFast 不只支援在編輯器中匯入,也支援在執行階段讀取。可以做出在 App 內顯示使用者自行帶入模型之類的設計。不過讀取處理的非同步化與錯誤處理需要自己實作,因此穩妥的做法是先在編輯器中匯入確認顯示,再進一步支援執行階段。
總結
在 Unity 中處理 GLB 的步驟可以整理為 3 步:① 從 Package Manager 加入官方套件 com.unity.cloud.gltfast → ② 將 GLB 複製到 Assets → ③ 在 Inspector 確認警告並放到場景中。Unity 預設無法讀取 GLB 是規格使然,只要安裝一個套件,之後就是標準作業。
如果卡關,幾乎都是材質與渲染管線不相符。出現洋紅色就查著色器,全黑就查燈光,缺少材質貼圖就查 .gltf 的附屬檔案——這樣逐一區分,大多能在短時間內解決。如果打算讓匯入後的模型「動起來」,還需要另外準備骨架與綁定,請在如何在Unity中把2D角色插畫3D化|轉換、匯入與讓角色動起來的條件確認整體流程。




