在對程序化建模工具進行編程的同時,了解通用場景描述(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。
學習如何構建自定義 UI 工具和創建自定義物體。
開始學習
-
試用書架生成器
當前是開始學習通用場景描述的最佳時機。您可以下載 NVIDIA Omniverse Launcher 和 Omniverse Code,試用書架生成器。
詳情請見:
https://www.nvidia.cn/omniverse/download/
https://developer.nvidia.cn/zh-cn/nvidia-omniverse-platform/code-app
-
閱讀原文章
如果您想要按步驟學習,可閱讀原文章,觀看書架生成器播放列表,點播該系列的全部七個部分。
詳情請見:
https://medium.com/@nvidiaomniverse/hit-the-usd-books-in-this-metaverse-coding-series-c1d7fb35194e
-
該項目的完整代碼
該項目的完整代碼位于此存儲庫。此存儲庫還包含在該系列每一部分結尾處標記代碼狀態的 Git 標簽。
詳情請見:
https://github.com/mati-nvidia/omni-bookshelf-generator
-
Omniverse 開發者資源中心
如需了解更多關于通用場景描述的信息,以及進一步了解 NVIDIA Omniverse 開發領域的信息,敬請訪問 Omniverse 開發者資源中心。
詳情請見:
https://developer.nvidia.cn/nvidia-omniverse-developer-resource-center
原文標題:在元宇宙編程系列教程中學習 USD 知識
文章出處:【微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
-
英偉達
+關注
關注
22文章
3791瀏覽量
91313
原文標題:在元宇宙編程系列教程中學習 USD 知識
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論