MAKAR | AR/VR/MR 教學

教學

解析 GLB,OBJ,STL 等常見 3D 檔案格式,同篇加映 Blender 轉檔教學!



在處理 3D 模型時,你可能使用過 FBX、OBJ、GLB 等檔案格式,而不同的檔案格式,使用方式及適用情境也會有所不同,這次的教學將帶你解析常見的 3D 格式、 MAKAR 支援哪些格式、如何轉檔合適的格式,讓你在處理模型時能節省更多時間。
 

內容目錄

 

各種 3D 檔案格式介紹

【 FBX、OBJ、STL、GLB、USDZ 】

FBX |由 AutoDesk 公開的 3D 檔案格式。

檔案支援 3D 面向、紋理、骨架等數據,也支援音樂、影片元素。
如果需要輸出動態 3D 模型,建議使用 FBX。

 

OBJ|由 Wavefront Technology 公開的 3D 檔案格式。

檔案支援 3D 面向、紋理數據,但不支援動畫、音樂及影片等媒體數據。
由於可以記錄的數據類型相對 FBX 少,因此數據量再輕一些。
如果需要輸出靜態 3D 模型,建議使用 OBJ。

 

STL|由 3D Systems 公開的 3D 檔案格式。

主要用於 3D 列印及電腦輔助設計(CAD),不支援 3D 紋理數據。
通常會將 STL 數據載入到 3D 印表機中進行列印,輔助設計師產出樣板零件。

 

GLB|由 Khronos Group 公開的 3D 檔案格式。

一種經過優化的模型格式,可將模型的材質、紋理和動畫等資訊合併到單一檔案中。
可輕鬆在網路上顯示 3D 內容,有時被稱為 3D 版本的 JPEG。
檔案支援簡單的動畫,檔案通常較小。

 

USDZ|由 Pixar Animation Studios 與 Apple 公開的 3D 檔案格式。

專門用來儲存 AR 圖像,包含播放音樂,iPhone 和 iPad 可使用 AR Quick Look 來瀏覽 USDZ,但僅限 iOS 產品使用。

 

【 3D 檔案格式比較表格 】

文件格式

目的

紋理

動畫

媒體

文件大小

FBX

3D 建模

外部紋理

支援動畫

支援音樂、影片

較大

OBJ

3D 建模

外部紋理

靜態

不支援

適中

STL

3D 列印

不支援

靜態

不支援

較小

GLB

網頁上顯示 3D模型

紋理包含在一個檔案中

支援動畫

不支援

較小

USDZ

Apple 設備上顯示 3D 模型

外部紋理

支援動畫

不支援

較小



 

MAKAR 支援的 3D 檔案格式

【 MAKAR 編輯器支援類型 】

MAKAR 編輯器支援上傳 FBX 及 GLB 兩種 3D 檔案格式,除了上傳自製的 3D 模型外,也能從 3D 素材網下載免費的物件,以 Sketchfab 為例,輸入欲找尋的物件並勾選可下載,接著找到喜歡的模型點選下載圖式,便可選擇下載 FBX 或 GLB 兩種格式。
※ 雖 MAKAR 編輯器中的線上素材庫,有直接提供 Sketchafab 的模型來源,可一鍵下載方便在編輯器操作,但往往從編輯器下載 Sketchafab 的模型,其預設檔案大小都是最大化,導致專案內容過大,如欲使檔案輕量化,建議從網站下載模型。
 


 

打開 MAKAR 編輯器,點選「新增素材」➔「3D 模型」並上傳 GLB 或 FBX 檔案,上傳完成模型即會出現在素材庫中,可拖曳至中央開始編輯創作。建議上傳 GLB 檔案,格式較小,速度較快。

 

 

凡於外部網站下載的免費模型,請於「專案設定」的描述欄附註作者來源。



 

【 MAKAR 3D Scan 輸出 3D 模型檔案 】

不管是 iPhone/iPad 版 MAKAR 3D Scan 或是 MAC 版 MAKAR 3D Scan,當掃描建模完成後,皆提供給 MAKAR 專業版帳號 3D 檔案匯出之功能,支援匯出 USDZ、OBJ、GLB、STL 四種 3D 檔案格式
 

▼ iPhone/iPad 版 MAKAR 3D Scan 輸出位置

 

▼ MAC 版 MAKAR 3D Scan 輸出位置



 

使用 Blender 轉檔教學

現今雖有許多線上 3D 轉檔的網站,方便了 XR 創作者使用,但線上轉檔往往有很多不確定性,造成模型毀損、動態失效等狀況時有所聞,若是想要洽當處理 3D 模型,使用 3D 軟體是最佳的選擇,而 Blender 是一個強大且免費的 3D 軟體,任何你在網路上得到的 3D 模型都可以用 Blender 檢查並轉檔,下列將以 Sketchfab恐龍模型(created by pikabobalex) 為範例,敘述如何使用 Blender 軟體轉檔,讓 XR 創作更加輕鬆上手。


 

【 將 GLB 轉檔至 FBX 】

▌ 檢查檔案

1. 開啟 Blender,選擇「General」。

 

2. 選擇方塊按下delete,刪除預設的方塊。

 

3. 選擇「檔案」 ➔ 「匯入」 ➔ 「glTF2.0」,匯入欲轉檔的 3D 模型。
※ 模型名稱必須以英文為名,中文檔名無法匯入。


 

4. 點擊上方「Viewport Shading/視接口著色」檢查貼圖是否正常,貼皮有顯示出來即正常;點擊底下播放鍵檢查動畫是否正常。



 

▌ 重新排序

由於 FBX 能吃的效果相較 GLB 較少,若是直接將它轉檔成 FBX,輸出後的物件貼皮就會跑掉。因此,如果 3D 物件如下圖掛著許多效果器,在轉檔前就必須縮減效果器,接下來將講解如何只留下貼皮效果器。

1. 將介面切換至「Shading」,點擊模型後跑出紅框中的序列,檢查底下的序列是否有相連好。


 

2. 留下深紅色「Material/材質輸出」及棕色「Image Textureg/影像紋理」,其他效果器直接刪除。如果出現兩個棕色以上的影像紋理(貼皮),留下一個主要的影像紋理,其餘刪除。


 

3. 對著黑色區域按右鍵,依序點選「Add/添加」 ➔ 「Shader/著色器」 ➔ 「Principled BSDF」,並將它擺放至正中間。

 

4. 將「Image Texture/影像紋理」連至「Base Color/基礎色彩」、「BSDF」連至「Material/材質輸出」的「Surface/表面」。


 

5. 紅框中的區塊是模型內的各種材質球,切換後會跑出不同的序列。將每個有效的材質球都執行上述重新排序的動作。


 

6. 若材質球顯現出來的貼圖沒必要留下,需要刪除做整理,點擊右上方紅框圖示,並點選「Blender File/Blender 檔案」 ➔ 「Materials/材質」,便可以找到模型裡所有的材質球,按右鍵刪除不需要的材質球。

 
 

7. 也可以在這裡重新命名材質球名稱,以便整理。



 

▌ 打包貼圖影像

從外部下載的 3D 模型,容易掉貼圖的可能性仍高,操作 3D 模型的時候建議先「打包貼圖影像」,讓模型吃得到正確的貼圖,現在將說明如何打包模型的貼圖影像。

1. 紅框中的區塊是貼圖影像,首先判斷影像是否適合打包,以這個模型為例,應儲存恐龍的皮及眼睛影像。

 
 

2. 點選紅框圖示,接著點選「Image/影像」 ➔ 「Save As/另存為」。

 

3. 選擇 JPEG 格式,重新命名適合的影像名稱,最後另存為影像。將每個合適的影像依上述說明儲存打包。
※ 命名請以英文檔名為主。



 

▌ 輸出 FBX 檔案

1. 上述步驟都完成後,即可輸出檔案,點擊「Filel/檔案」 ➔ 「Exportl/匯出」 ➔ 「FBX」。


 

2. 在路徑模式(Path Mode)選擇「Copy/複製」並打開旁邊的小盒子,確保資料完好打包。

 

3. 物件若本身有動畫,拉開下方「Bake Animation/烘焙動畫」,點掉「NLA Strips/NLA片段」及「All Actions/全部動作」。

 

4. 將檔案存放在主資料夾(內有打包的貼圖影像),最後點擊「Export FBX/匯出 FBX」。

 

5. 成功將 GLB 轉檔為 FBX!



 

【 將 FBX 轉檔至 GLB 】

1. 點擊上方「Viewport Shading/視接口著色」檢查貼圖是否正常,貼皮有顯示出來即正常;點擊底下播放鍵檢查動畫是否正常。

 

2. 點擊「Filel/檔案」→「Export/匯出」→「glTF2.0」。


3. 成功將 FBX 轉檔為 GLB!