在對程序化建模工具進行編程的同時,了解通用場景描述(USD)。
從開發電影視覺特效到構建大型的 3D 世界,通用場景描述(USD)正在迅速成為虛擬世界的標準。USD 不僅是一種文件格式,還是一個開放、可擴展的框架和生態系統,具有可用于在 3D 虛擬世界中合成、編輯、查詢、渲染、協作和仿真的 API。NVIDIA 與其合作伙伴生態系統,正繼續投資 USD,致力于將其發展成為 3D 互聯網的通用語言和“元宇宙的 HTML”。
Omniverse使用 USD 作為其原生場景描述。新加入 NVIDIA Omniverse 社區的開發者想要了解 USD 以及其作為虛擬世界語言的作用。
為了向開發者展示如何有效使用 USD API,Matias Codesal 開設了一個編程系列教程,以展示 USD 的實際應用。Matias Codesal 記錄了自己開發程序化建模工具的過程,他將該工具稱為Bookshelf Generator(書架生成器)。這個系列展示了如何在 Omniverse 中創建這個作為擴展程序的工具并且使用 USD 進行建模和場景布局操作的全過程。
該編程系列教程由七個部分組成,將從頭到尾告訴開發者如何使用 NVIDIA Omniverse 構建基于 USD 的程序化建模工具。
開發者將學到的內容
在該系列教程中,開發者將了解如何有效地利用集成開發環境(IDE)—Omniverse Code開發Omniverse 擴展程序。而后將探討如何使用 Visual Studio Code 開發這個 Bookshelf Generator 擴展程序。
Matias Codesal 從事開發 Omniverse 擴展程序已有好幾年了,其最初開發的兩個擴展程序是 CityEngine PyPRT 和 Camera Reticle 擴展程序,從那時起,Matias Codesal 學到了很多關于 Omniverse 開發的知識。當開發者看到 Matias Codesal 在該系列中快速創建和迭代其想法時,就能發現他最喜歡 Omniverse Code 的一點在于,Omniverse Code 能夠熱重載其源代碼并提供強大的 Python 支持。
該系列最適合具有 Python 背景的中高級開發者觀看。但由于 Matias Codesal 在該系列中主要展示了其思考過程,因此初級開發者也可以從其展示的如何尋找答案和推理問題中進行學習。該系列主要不是用于詳細介紹 USD 的所有功能。事實上,合成是 USD 的一個關鍵功能,但 Matias Codesal 在該項目中只使用了合成操作符中的引用符。
該項目涵蓋了許多建模和場景創作概念。雖然其重點是使用 UsdGeomPointInstancer 實例化和排列書架上的書本,但開發者也能學到諸如 prim 算法、自定義屬性、關系、邊界框計算等概念。該項目完全利用 Python 編寫,但對 USD 感興趣的 C++ 開發者也可以通過該項目有所收獲。
這部完整的教程分為七個部分:
使用 Kit Commands 來創建書柜的原始形狀和材質。
縮放和轉換構建書柜的書柜板。
引用書本資產并將其實例化,而后將其排列在書架上。
為書本添加隨機比例并改進書柜資產結構。
改進 UV 縮放,并增加對于在一個階段內制作多個書柜的支持。
更新多書柜制作的用戶界面并支持自定義書本資產。
最終確定用戶體驗并修復剩余的 bug。
審核編輯 :李倩
-
NVIDIA
+關注
關注
14文章
4940瀏覽量
102815 -
生成器
+關注
關注
7文章
313瀏覽量
20977 -
python
+關注
關注
56文章
4782瀏覽量
84453
原文標題:利用元宇宙書架生成器中了解 USD 知識
文章出處:【微信號:Leadtek,微信公眾號:麗臺科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論