USD 檔案格式在 3D 領域的優勢:解析其強大之處

分類: 3DOpen Source 標籤:
Save and Share:

USD (Universal Scene Description,通用場景描述) 是由皮克斯 (Pixar) 開發的一種檔案格式,旨在促進 3D 電腦圖形場景在不同數位內容創作應用程式之間的互通。它是一種可擴充的開放原始碼檔案格式,可以儲存 3D 幾何圖形、著色、光照、物理和其他圖形相關領域的資訊。它還可以組合和覆蓋來自多個來源的資料,從而建立一個可以非破壞性編輯的單一場景圖。

USD 廣泛應用於設計、建築、動畫和遊戲等諸多產業,並受到 Blender、Cinema 4D、Houdini、Maya 和 Apple 的 SceneKit 等多種軟體應用程式的支援。USD 也是皮克斯 3D 圖形流程的核心,以及 Nvidia Omniverse 平台的基礎。

通用場景描述 (USD) 規範使用以下幾種檔案格式:

  • .usd – 可以是 ASCII 或二進位編碼
  • .usda – ASCII 編碼
  • .usdc – 二進位編碼
  • .usdz – 一種封裝檔案,格式為零壓縮、未加密的 zip 壓縮檔。可能包含 .usd、.usda、.usdc、.png、.jpeg、.m4a、.mp3 和 .wav 檔案。

Blender (或任何其他 3D 軟體) 讓您僅透過其介面即可輕鬆完成許多任務,但一旦您開始將其他軟體引入流程,各種問題就會接踵而至。因此,讓我們來談談您目前可能遇到的最大問題,以及皮克斯如何創造出解決方案來克服這些問題。

KaizenTutorials 製作的關於 USD 檔案格式的影片

問題所在

如果您曾經在 Substance 中製作模型的紋理、將作品匯入 Unreal,或者嘗試與使用不同軟體的人分享專案,您可能會意識到這有多麼麻煩。必須處理不同的檔案類型、每個軟體各自的正確匯出流程,並在過程中遺失寶貴的資料,這些都可能讓您感到自己在故意反覆撞牆。

請相信我,所有 3D 藝術家都會遇到這種情況 – 無論您是作為一個擁有自己客製化流程的獨立創作者,還是在像皮克斯這樣的大型工作室中工作,都必須遵守嚴格的流程限制,才能為所有其他 1,232 名員工維持適當的工作流程。問題仍然是一樣的。

問題發生的原因

但這也是有道理的,對吧?每個軟體都使用適用於其需求的專有檔案類型。例如,來自 Blender 的檔案經過編碼,可以在 Blender 中使用,但不能在 Substance 中使用。顯然,在公司中,每位藝術家都需要檔案與他們自己選擇的工具相容,以便輕鬆甚至有可能繼續進行專案。

這就是為什麼在切換到不同的軟體或將您的專案交給下一個人時,必須匯出為更通用的檔案類型 (如 FBX 或 OBJ)。但即使這些檔案類型也有很多限制,例如無法正確儲存模擬、光照以及 Blender 專案的許多其他方面。

USD 簡介

那麼,這個問題的答案是什麼?通用場景描述 (USD)!USD 最初由皮克斯於 2016 年發布為開放原始碼軟體,作為其新的核心流程,主要是為了讓他們的藝術家更容易在彼此和他們使用的工具之間移動資料。

自發布以來,USD 不斷進行變更和改進,這對於像 Blender 這樣的開放原始碼軟體來說很常見,Blender 也會不斷更新和擴充。

什麼是 USD?

USD 包含很多內容,如果我深入研究,實際上它可能是一個非常技術性和複雜的事情來描述。但如果我簡單地說,USD 是一種讓 Blender、Unreal、Houdini、Substance、Maya、Nvidia Omniverse 等應用程式能夠互相溝通和理解的方式。

在電腦產業中,實際上對於此有一專有名詞 – 互通性 (interoperability)。聽起來有點難以理解!無論它聽起來多麼花俏,實際上它並不像您想像的那麼複雜。您可以立即在您自己的電腦上,甚至與世界各地的多個朋友或同事一起開始使用它。

USD 的不同之處

傳統上,流程是非常單向的,每個人只有在前一個人完成後才能開始工作。或者對於您個人而言,只有在建模完全完成後,您才能進入流程的下一個步驟,例如紋理處理。

您可以將其與烘烤蛋糕進行比較 – 在您建立和製作這個蛋糕時,您必須完成每個步驟才能開始下一個步驟。您不能在混合麵團之前烘烤蛋糕,也不能在烤箱中烘烤蛋糕之前建造它。每個步驟都依賴於前一個步驟的完成。

更重要的是,一旦您塗上糖霜和餡料,或者決定海綿蛋糕需要是巧克力的,就沒有回頭路了。您無法取消烘烤蛋糕、將口味更改為香草,或取下糖霜。這就是我們所說的破壞性工作流程

然而,USD 更像是樂高積木。每個積木代表 3D 場景的一部分 – 角色、物件、環境等等 – 您可以獨立組裝、拆卸和修改這些積木。

在傳統流程中,更改一個積木將涉及調整結構的其餘部分。但使用 USD,每個構建模組都可以獨立工作,我可以簡單地將一個積木更改為不同的顏色,而無需重建整個模型。

這是一種非破壞性方法,允許進行實驗和協作工作流程,而不會受到流程限制的阻礙。

USD 的目標

所有這些使用 USD 的目標是創建一種在應用程式之間自由移動資料的方式,讓藝術家和團隊能夠自由地專注於創作,而不是專注於匯出和等待彼此才能繼續工作。如果概念團隊決定稍後進行更改,藝術家不應該重新開始。並且不應該存在來自其他程式的檔案格式在您選擇的軟體中無法運作的問題。

在服務層面上,這就是 USD 的本質 – 一種高度互通的檔案格式,可以在不同的軟體之間輕鬆交換。公平地說,這就是它對於大多數 Blender 使用者的意義,因為我們很多人傾向於單獨工作。但 USD 不僅僅是一種檔案類型……

它是一種將任意數量的資產組裝和組織成虛擬場景、場景、鏡頭和世界的方式 – 從一個應用程式到另一個應用程式使用它們,並經常以非破壞性方式即時編輯它們。

如何使用 USD

現在讓我們看看如何在 Blender 工作流程中使用 USD。在其最基本的形式中,自 3.6 版以來,USD 一直是 Blender 中的一個匯出選項。因此,如果您有一個正在處理的檔案並想要將其儲存為 USD 檔案,您可以轉到檔案 > 匯出 > 通用場景描述,它會彈出一個視窗提示您儲存檔案。

它有很多選項,但主要需要注意的是:

  • 僅選取 (Selection Only) – 只會在匯出中包含選取的物件
  • 動畫和毛髮 (Animation and Hair) – 會包含/排除物件的動畫和毛髮粒子資料

這是一個關於 USD 如何運作的絕佳範例。這是一個來自 Nvidia 的 USD 範例庫的檔案,該檔案是在 3ds Max 和 Substance 等一系列軟體中製作的。如果您透過匯入在 Blender 中開啟它,它幾乎可以 100% 立即運作!

如您所見,它包含所有資料,包括燈光、景深、攝影機、材質等等。唯一無法正確匯出的是 HDRI 光照,我們必須自行設定。但令人難以置信的是,它在 3DS Max 的 Arnold 渲染器中看起來幾乎完全相同,並且僅透過單一檔案類型匯出到 Blender 並同樣運作良好!

它具有正確的層次結構、材質,並且基本上所有內容都已設定。這真的非常酷!無論如何,這說明了 USD 如何在不同的應用程式之間運作,以及它如何作為一種互通的檔案格式

USD 的實際範例

現在讓我們看一個更實際的範例。對於這個流程範例,我將使用一個典型的使用 Blender 建模物件以用於遊戲的工作流程。

傳統流程如下:

  1. 在 Blender 中建立模型
  2. UV 展開模型
  3. 匯出為 FBX,因為 Painter 無法使用 Blender 檔案
  4. 將 FBX 匯入 Substance Painter
  5. 在 Substance 中新增材質
  6. 將紋理匯出為影像
  7. 將 FBX 匯入遊戲引擎
  8. 手動設定紋理
  9. 建立渲染

透過 USD,我們可以顯著簡化這個流程,並在很大程度上保留非破壞性工作流程。該流程與 Blender 和 Substance 作為主要元件非常相似。

但由於 USD 無法在這些應用程式之間即時原生運作 (主要是因為 Blender 對 USD 的支援仍然有限),我將使用 Nvidia Omniverse 來為我們建立這種連線。

透過 Omniverse,我可以存取由 Nvidia 建構的更相容於 USD 的 Blender 分支。我可以啟用 Substance Painter 的 Omniverse 連接器來實現 LifeLink。並且我可以使用 USD Composer 來彌合應用程式之間的差距並查看最終產品。

完成設定後,我們現在可以在自訂 Blender 分支中開啟我們的 Blender 專案。如果我們然後按下 N 並轉到右側,我們將獲得 Nucleus 外掛程式,從而允許我們將其匯出為 USD 檔案。

如果我們然後轉到 USD Composer 並開啟該 USD 檔案,我們會獲得一種 應用程式之間的即時連結。我現在可以對網格進行任何變更、重新匯出它,並讓 USD Composer 自動拾取它。

更棒的是!匯入模型後,我們可以開啟 Substance Painter、啟用 Omniverse 連接器,然後轉到匯入網格以自動將我們的物件從 USD Composer 匯入到 Substance。此時,如果我們在 Blender 中進行變更,我們仍然可以重新匯出並在 USD Composer 中拾取它,USD Composer 會自動連結到 Substance Painter。

但是,一旦我們在 Substance Painter 內新增紋理,再次執行此操作將會移除這些紋理。因此,一旦您感到滿意,請在 Substance Painter 中新增您的材質,並且在啟用 Life Link 的情況下,這些材質將會自動彈出在 USD Composer 中。

然後您進行的任何變更都會自動匯出並在 USD Composer 中更新。真的非常酷!

對我來說,這個工作流程簡直令人難以置信。能夠即時在 Blender 和 Substance Painter 中進行變更,並讓所有這些變更自動在後續流程中運作並反映在最終渲染中,這真是太棒了。

如果您有興趣嘗試 Nvidia Omniverse 提供的所有功能,您可以透過說明中的連結免費下載它。並且如果您想了解更多關於 USD 和 Omniverse 一起提供的所有技術使用案例,您也可以找到另一個免費下載連結,以及一個參加 GTC 三月份的開放式 USD 日場次 (虛擬或親自參加) 的連結。

我真的建議您查看一下,因為這確實是 3D 工作流程的未來。

更多關於 USD

除了這個有趣的範例之外,USD 還有更多功能可以提供。如果您善用其功能,您作為藝術家的效率將會大大提高。那麼它還能做什麼?

嗯,除了通用檔案格式會讓您的生活輕鬆很多之外,它絕對是未來。自 2023 年 8 月以來,USD 已成為一個官方非營利組織,簡稱為開放式 USD 聯盟 (AO USD) – 皮克斯、蘋果、Adobe、Autodesk 和 Nvidia 是其創始成員。

我認為這確實表明了這些公司的投入程度,以及他們如何真正將其視為互通檔案格式的未來 – 每個人都應該能夠非常輕鬆地使用它。

除了是一種檔案格式之外,USD 還儲存幾乎所有內容 – 從燈光和攝影機到模擬快取和場景資料 – 以類似圖層的結構 (稱為「prims」(基本體的縮寫)) 儲存。它包含所有這些資料,以描述複雜的場景和資產,並以廣泛的應用程式可以讀取的格式儲存。

現在知道這一點,「通用場景描述」這個名稱實際上就很有意義了!

如果您熟悉 Blender 集合,USD 的運作方式類似。您可以將任何內容巢狀在多個巢狀集合中,並且 USD 還將所有這些圖層視為實例。因此,它能夠以最佳化的方式非常快速地載入和讀取所有資料。

這與在 Blender 中實例化集合類似,這很好,因為實例所需的計算量少於實際的重複物件。它也非常類似於 After Effects 中的預合成或 Nuke 中的合成 – 您基本上將內容分組在巢狀群組/圖層中,這使得電腦可以更輕鬆、更快速地處理檔案。

Nvidia 最新的 USD 範例專案「達文西的工作室 (Da Vinci’s Workshop)」就是這種最佳化的一個很好的例子。使用他們的 USD Composer 應用程式 (非常適合查看具有即時光照的 USD 專案),我可以以接近 120 FPS 的速度播放這個巨大的 67GB 資產、紋理和燈光庫,而不會出現任何延遲或問題。這是可能的,因為 USD 以極其最佳化的方式有效率地載入檔案和紋理。

同樣地,對於過去以 Alembic 檔案匯出的動畫,USD 快取現在速度更快。Alembic 檔案通常很大、非常未最佳化,並且電腦讀取速度很慢 – 通常會導致斷斷續續的播放。使用 USD,實現穩定的 FPS 毫無問題,並且檔案大小也小得多。

更多優點

另一個非常酷的功能是,您可以從檔案外部輕鬆存取 USD 專案中的圖層。例如,如果 USD 檔案中有一個 prim 圖層包含球體在 USD 檔案內是綠色的資料,只需在相容於 USD 的編輯器 (如 USD Composer) 中將該顏色更改為紅色,我們就可以更改球體的顏色,而無需在 Blender 中開啟檔案!這真是太強大了。

雖然這顯然是一個基本的例子,但它顯示了潛力。另一個主要的優點是,USD 仍然允許您僅在特定軟體中處理複雜檔案的單個圖層。因此,即使您的檔案包含一個完整的專案,其中包含攝影機、燈光等,您仍然能夠僅開啟其中的一部分 – 例如單個模型 – 在 Substance Painter 內部,並且僅處理該部分專案,而不會影響任何其他內容。

如果有多個人正在處理同一個檔案,情況也是如此 – 這是 USD 的另一個主要優勢。十個人可以處理同一個檔案,因此藝術家一號所做的變更會立即對藝術家二號可見,從而讓他們能夠相應地調整他們的工作。能夠與遠端的人員協作非常強大。

3D 流程的未來

可以肯定地說,USD 遠遠不僅僅是一種檔案格式。它是一個全面的技術平台和生態系統,其使命與 Blender 真正一致:自由創造,不受限制。

USD 仍在開發中。夢想成真 – 一種通用軟體檔案格式,可供業界任何軟體使用,並且可供多位藝術家即時編輯。

我們都應該感謝皮克斯為這種令人難以置信的發展鋪平了道路,並感謝 Nvidia 和 Apple 等公司貢獻了他們的力量。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *