在對程序化建模工具進行編程的同時,了解通用場景描述(USD)。

從開發(fā)電影視覺特效到構建大型的 3D 世界,通用場景描述(USD)正在迅速成為虛擬世界的標準。USD 不僅是一種文件格式,還是一個開放、可擴展的框架和生態(tài)系統(tǒng),具有可用于在 3D 虛擬世界中合成、編輯、查詢、渲染、協(xié)作和仿真的 API。NVIDIA 與其合作伙伴生態(tài)系統(tǒng),正繼續(xù)投資 USD,致力于將其發(fā)展成為 3D 互聯(lián)網(wǎng)的通用語言和“元宇宙的 HTML”。
Omniverse 使用 USD 作為其原生場景描述。新加入 NVIDIA Omniverse 社區(qū)的開發(fā)者想要了解 USD 以及其作為虛擬世界語言的作用。
為了向開發(fā)者展示如何有效使用 USD API,Matias Codesal 開設了一個編程系列教程,以展示 USD 的實際應用。Matias Codesal 記錄了自己開發(fā)程序化建模工具的過程,他將該工具稱為 Bookshelf Generator(書架生成器)。這個系列展示了如何在 Omniverse 中創(chuàng)建這個作為擴展程序的工具并且使用 USD 進行建模和場景布局操作的全過程。

該編程系列教程由七個部分組成,將從頭到尾告訴開發(fā)者如何使用 NVIDIA Omniverse 構建基于 USD 的程序化建模工具。
開發(fā)者將學到的內容
在該系列教程中,開發(fā)者將了解如何有效地利用集成開發(fā)環(huán)境(IDE)—Omniverse Code 開發(fā) Omniverse 擴展程序。而后將探討如何使用 Visual Studio Code 開發(fā)這個 Bookshelf Generator 擴展程序。
Matias Codesal 從事開發(fā) Omniverse 擴展程序已有好幾年了,其最初開發(fā)的兩個擴展程序是 CityEngine PyPRT 和 Camera Reticle 擴展程序,從那時起,Matias Codesal 學到了很多關于 Omniverse 開發(fā)的知識。當開發(fā)者看到 Matias Codesal 在該系列中快速創(chuàng)建和迭代其想法時,就能發(fā)現(xiàn)他最喜歡 Omniverse Code 的一點在于,Omniverse Code 能夠熱重載其源代碼并提供強大的 Python 支持。
該系列最適合具有 Python 背景的中高級開發(fā)者觀看。但由于 Matias Codesal 在該系列中主要展示了其思考過程,因此初級開發(fā)者也可以從其展示的如何尋找答案和推理問題中進行學習。該系列主要不是用于詳細介紹 USD 的所有功能。事實上,合成是 USD 的一個關鍵功能,但 Matias Codesal 在該項目中只使用了合成操作符中的引用符。
該項目涵蓋了許多建模和場景創(chuàng)作概念。雖然其重點是使用 UsdGeomPointInstancer 實例化和排列書架上的書本,但開發(fā)者也能學到諸如 prim 算法、自定義屬性、關系、邊界框計算等概念。該項目完全利用 Python 編寫,但對 USD 感興趣的 C++ 開發(fā)者也可以通過該項目有所收獲。
這部完整的教程分為七個部分:
-
使用 Kit Commands 來創(chuàng)建書柜的原始形狀和材質。
-
縮放和轉換構建書柜的書柜板。
-
引用書本資產(chǎn)并將其實例化,而后將其排列在書架上。
-
為書本添加隨機比例并改進書柜資產(chǎn)結構。
-
改進 UV 縮放,并增加對于在一個階段內制作多個書柜的支持。
-
更新多書柜制作的用戶界面并支持自定義書本資產(chǎn)。
-
最終確定用戶體驗并修復剩余的 bug。

學習如何構建自定義 UI 工具和創(chuàng)建自定義物體。
開始學習
-
試用書架生成器
當前是開始學習通用場景描述的最佳時機。您可以下載 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
-
該項目的完整代碼
該項目的完整代碼位于此存儲庫。此存儲庫還包含在該系列每一部分結尾處標記代碼狀態(tài)的 Git 標簽。
詳情請見:
https://github.com/mati-nvidia/omni-bookshelf-generator
-
Omniverse 開發(fā)者資源中心
如需了解更多關于通用場景描述的信息,以及進一步了解 NVIDIA Omniverse 開發(fā)領域的信息,敬請訪問 Omniverse 開發(fā)者資源中心。
詳情請見:
https://developer.nvidia.cn/nvidia-omniverse-developer-resource-center
原文標題:在元宇宙編程系列教程中學習 USD 知識
文章出處:【微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關注!文章轉載請注明出處。
-
英偉達
+關注
關注
23文章
4116瀏覽量
99668
原文標題:在元宇宙編程系列教程中學習 USD 知識
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
labview編程及基礎知識分享
羅萊迪思作為中國戶外分布式裸眼3D首家企業(yè)入選國家四部委聯(lián)合公示元宇宙典型案例
嵌入式單片機開發(fā)學習路徑
小白也能聽懂的單片機知識路徑
OBOO鷗柏丨75英寸觸摸屏廣告屏科技館元宇宙信息互動展廳系統(tǒng)數(shù)字化
ALVA榮膺2025年度元宇宙創(chuàng)新企業(yè)
基于 HT 技術的園區(qū)元宇宙可視化管理平臺
賽目汽測榮膺第十屆“創(chuàng)客中國”元宇宙中小企業(yè)創(chuàng)新創(chuàng)業(yè)大賽優(yōu)勝獎
NVIDIA Omniverse USD插件開發(fā)中的UI卡頓問題復現(xiàn)及分析
【「Yocto項目實戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)」閱讀體驗】+基礎概念學習理解
ARM入門學習方法分享
FPGA在機器學習中的具體應用
零基礎學習LuatOS編程:快速上手開發(fā)實戰(zhàn)教程!
在元宇宙編程系列教程中學習 USD 知識
評論