**工具推薦:3D數字孿生場景編輯器-GLTF GLB材質紋理編輯器-3D模型轉換-三JS AI自動紋理開發套件 - Yolo Unreal 合成資料生成器 - 3D模型預覽生成器 - 3D模型語義搜尋引擎
簡而言之,如果要將資料傳輸到Unity或虛幻引擎等遊戲引擎,或者Clara等遊戲引擎如果在 IO、Maya 或 3ds Max 等 3D 工具之間傳輸資料,則 FBX 檔案格式優於 GLTF。 如果要通過 Internet 高效傳輸 3D 場景資料,以便在遠端應用程式(例如增強現實)中檢視,則 GLTF 格式優於 FBX。
FBX檔案格式是什麼?Autodesk FBX 檔案格式是 3D 編輯器和遊戲引擎之間常用的 3D 資料交換格式。 它最初是作為 Kaydara 的 Filmbox 動作捕捉工具的原生檔案格式建立的。 FBX 格式名稱和副檔名派生自應用程式名稱 Filmbox。 2005 年,Kaydara 發布了乙個用於其他封閉和專有 FBX 檔案格式的公共 SDK,並參與了協調的公關活動,以鼓勵採用 FBX 檔案格式在不同工具之間進行高質量的 3D 資料交換。 Filmbox最終更名為MotionBuilder,後來被Autodesk收購。
1. 分離位置、UV和普通拓撲結構:
FBX 檔案格式的乙個優點是它可以儲存具有不同拓撲的位置、UV 和法線資料,這也由 OBJ 3D 模型格式共享。 這是高質量建模工具的理想選擇,並支援複雜的特徵,例如精確的細分曲面。 這使得將這些模型載入到遊戲引擎中有點困難,因為需要對資料進行預處理以統一所有拓撲結構。
2. 強大的SDK
如果您使用的是 SDK 支援的語言,則它非常強大且使用起來非常方便。 匯入和匯出 FBX 檔案的過程是乙個相對簡單的過程,即鏈結 SDK,然後使用其 API 流式傳輸資料。 檔案格式的所有複雜性對整合 SDK 的軟體開發人員都是隱藏的。 而且您無需擔心 SDK 是否支援所有 FBX 功能,因為它是官方且唯一的 FBX SDK。
這與 GLTF 和 Collada 等主要書面標準形成鮮明對比,後者很複雜且相對容易錯誤實施。 這些書面標準很少由不同的團隊實施,但仍然完全相容。
3.相容性好
由於 SDK 讀取所有以前版本的 FBX 檔案格式,因此該工具的最現代版本可以正確讀取其他工具生成的 FBX 檔案。 即使 FBX 檔案格式發生更改,SDK 也會確保通過對 SDK 使用者透明的不同路徑讀取舊格式和新格式。 因此,FBX 不會充斥著像 collada (.) 這樣的類似複雜格式。dae))。如果 FBX 正確支援某項功能,它可以在應用程式之間傳輸該資料,而無需太多顧慮。
4. 廣泛的功能支援
FBX 格式是支援其格式中各種資料的標準。 FBX 支援 3D 模型、場景層次結構、材質照明、動畫、骨骼、面板和混合形狀。 由於 FBX 是一種較舊的格式,因此它還支援目前不再廣泛使用的資料,例如 NURBS 曲面和曲線。 當您選擇 FBX 作為交換格式時,您知道它可能表示您需要的幾何資料。
5.快速高效
FBX 檔案格式,非常有效,因為它使用二進位格式。 當資料儲存為二進位時,寫入和讀取資料的速度會更快,這與基於文字的格式相反,在基於文字的格式中,二進位資料必須與人類可讀的數字相互轉換。 它在空間方面也很有效,因為數字的二進位表示比人類可讀的數字占用更少的空間。 如果您需要直接讀取和寫入二進位格式,它們通常可能很複雜,但 FBX SDK 會向使用者隱藏這一點。
1.封閉格式
FBX 格式的最大缺點是它是一種封閉格式。 訪問 FBX 檔案中資料的唯一官方方法是使用官方 SDK。 您無法在 FBX SDK 未正式支援的系統(例如 Web 瀏覽器或開源應用程式)上載入 FBX。 也就是說,經過幾年的努力,Blender 已經成功地對當前版本的 FBX 格式進行了逆向工程。
由於 FBX 是一種封閉格式,因此除了其所有者的 Autodesk 之外,任何人都不可能改進該格式,並且最近沒有任何更新。
2. 廣泛的功能支援
雖然這在優點中列出,但它也可能是乙個缺點。 FBX 廣泛的資料支援的問題在於,它支援的許多資料型別都是遺留的,不再經常使用。 除了過時的材質和照明模型(如下所述)外,FBX 還支援 NURBS 曲面和曲線。 這些支援很複雜,因為它們需要完整的 CAD 核心才能成為 FBX SDK 的一部分。 NURBS 支援等傳統功能大大增加了 FBX 檔案格式的複雜性,使其難以維護且成本高昂。 它的 SDK 非常大,因此很難整合到手機遊戲或其他大小受限的應用程式中。
3. 遺留材料
FBX 檔案格式使用 1990 年代的照明模型,該模型以 blinn-phong 規範光澤度模型為前提,以及每種材料屬性的單一顏色或紋理。 雖然這對於材質的極簡表示來說已經足夠了,但它並不能反映現代 3D 編輯器或遊戲引擎的功能,這些編輯器或遊戲引擎利用複雜的著色器網路與以粗糙度金屬度為中心的基於物理的渲染 (PBR) 材質模型協同工作。 簡單的 FBX 材質也不支援次表面散射、適當的分層材質或各向異性效果。 由於 FBX 材料模型的嚴格限制,3D 模型上的大多數材料在通過 FBX 格式在工具之間傳輸後必須重做。
4. 傳統照明
FBX 中的照明模型再次使用了 1990 年代的慣例。 像threekit這樣的現代遊戲和工具使用基於物理的照明模型,其中所有照明引數都基於物理量,如流明、亮度和基於物理的衰減。 現代遊戲引擎希望傳輸全域性照明資訊,例如光照探針和基於影象的照明,但 FBX 不支援此功能。 FBX 使用更具歷史性和任意性的光照模型,這使得使用更現代和基於物理的方法的工具之間難以進行通訊。 與材質一樣,大多數使用 FBX 檔案格式傳輸的照明資訊在匯入其目標應用程式後必須修復或簡單地重做。
gltf的格式是什麼?GLTF 格式是一種開放的 3D 模型和場景格式,旨在有效地傳輸豐富的場景 3D 資料。 自 2013 年以來,它一直由 Khronos 集團建立和管理。 GLTF 是圖形語言傳輸格式的首字母縮寫。
1.易於讀寫
您可以使用眾多開源庫之一將 gltf 檔案讀入自定義應用程式,也可以自己編寫匯入器。 GLTF 格式使用 JSON 描述符檔案來描述 GLTF 的內容及其屬性。 對於開發人員來說,直接讀寫非常容易,甚至比 OBJ 檔案格式更是如此,因為 JSON 本身是一種靈活的人類可讀檔案格式標準,大多數語言都提供解析器。
GLTF 視覺化材質編輯器。
2.快速高效
與 FBX 檔案格式一樣,GL 傳輸格式 (GLTF) 將 3D 幾何體的主要批處理資料儲存在二進位檔案中。 二進位檔案的讀取由 JSON 描述符檔案指導。 這意味著 GLTF 平均比將批量 3D 幾何圖形儲存為人類可讀文字的檔案格式(如 OBJ)小 5 倍,讀取速度快 10 倍以上。
3.直接閱讀遊戲引擎
在遊戲引擎的上下文中,GLTF 的讀取速度甚至比 FBX 更快,因為它將其網格資料儲存在統一的拓撲中。 這意味著遊戲引擎可以將資料從 GLTF 直接讀取到 GPU 記憶體中,然後在螢幕上渲染生成的圖形,而無需對 OBJ 網格資料進行中間處理。
4. 標準組的指導
標準組通常被視為繁瑣而笨拙的官僚機構,但就檔案格式而言,標準組具有多種好處。 它們確保檔案格式隨著技術趨勢不斷發展,並且各種供應商就如何在各種工具中實現檔案格式達成一致,以確保相容性。 此外,標準組織編寫了明確的規範,並發布了一致性測試工具,當存在分歧時,每個人都可以參考這些工具。 Khronos 正在做所有這些事情來支援 GLTF 的未來增長和採用。
5.豐富的場景資料
除了儲存模型和材質外,GLTF 檔案還可以儲存動畫資料、骨骼、面板、場景層次結構和燈光(通過擴充套件)。 這意味著 GLTF 既可用於單個靜態模型(如 OBJ),也可用於動畫角色和完整的複雜場景,類似於 FBX 檔案。
GLTF 編輯器(支援 GLTF GLB 預覽、材質編輯、重置原點和模型輕量化(合併相同的材質網格)。
6. 增強現實
GLTF 正在成為將資料流式傳輸到基於 Web 和基於應用程式的增強現實應用程式的標準。 谷歌和Facebook已經將其用於此目的。 這是因為它快速、高效,並允許遊戲引擎直接讀取。 因為它是官方標準,所以世界各地的**供應商都可以將其寫入此格式。
1. 不可編輯的 3D 模型
與 FBX 相比,GLTF 的最大缺點之一是其 3D 模型資料以更簡單的格式儲存。 它不允許對位置、UV 和法線資料使用不同的拓撲。 如果您希望直接讀取遊戲引擎的速度,這是有益的,但這意味著修改 3D 模型可能非常困難。 最好將 GLTF 當前的 3D 模型儲存格式視為發布 3D 模型以供檢視的一種方式,而不是高保真 3D 模型儲存角色。 如果要儲存 3D 資源以供以後編輯,最好不要使用 GLTF。
2. 無著色網路
與 FBX 類似,GLTF 中的當前材料定義要簡單一些。 它比 fbx 材質定義更現代一些,但幾乎沒有。 它不適用於 Maya、Clara在IO和虛幻引擎等現代3D工具中可以表示的材質的複雜性不相上下。 以強大而靈活的方式表示材質的最新方法是通過著色器網路。 GLTF 不支援著色器網路,因此如果您想編輯材質,它不是最好的檔案格式。 相反,當您想要發布模型供其他人檢視時,您可以轉換為格式。
3. 非向後相容擴充套件
GLTF 標準委員會允許對 GLTF 格式進行特定於商的擴充套件。 這些擴充套件雖然提供了額外的功能,但目前不能保證與不支援這些特定於供應商的擴充套件的 GLTF 檢視器或讀取器的向後相容性。 這意味著,每當這些非向後相容的擴充套件僅由單個供應商採用時,檔案格式就會被碎片化。 隨著更多這些特定於商的擴充套件的出現,使用者將更難在供應商工具之間實現 GLTF 相容性。 FBX 檔案格式不會發生這種型別的碎片。
如果要在分發 3D 模型以用於遊戲引擎或檢視器時獲得複雜的場景、動畫、照明和效率,請使用 GLTF 格式。 當您確切知道哪個工具將生成 GLTF 檔案以及哪個工具將讀取 GLTF 檔案以確保它們完全相容時,這尤其理想。
如果您希望能夠儲存和載入 3D 模型和場景,然後對其進行編輯,請選擇 FBX。 FBX 保證了工具之間的相容性,至少對於它支援的功能而言,並且它的資料表示比 GLTF 更準確。 FBX 不應該是與開源工具進行通訊的首選場所,也不應該是首選簡單性的地方。
*: GLTF vs FBX:我應該使用哪種格式? (mvrlink.com)