在對(duì)程序化建模工具進(jìn)行編程的同時(shí),了解通用場(chǎng)景描述(USD)。

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

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

學(xué)習(xí)如何構(gòu)建自定義 UI 工具和創(chuàng)建自定義物體。
開始學(xué)習(xí)
-
試用書架生成器
當(dāng)前是開始學(xué)習(xí)通用場(chǎng)景描述的最佳時(shí)機(jī)。您可以下載 NVIDIA Omniverse Launcher 和 Omniverse Code,試用書架生成器。
詳情請(qǐng)見:
https://www.nvidia.cn/omniverse/download/
https://developer.nvidia.cn/zh-cn/nvidia-omniverse-platform/code-app
-
閱讀原文章
如果您想要按步驟學(xué)習(xí),可閱讀原文章,觀看書架生成器播放列表,點(diǎn)播該系列的全部七個(gè)部分。
詳情請(qǐng)見:
https://medium.com/@nvidiaomniverse/hit-the-usd-books-in-this-metaverse-coding-series-c1d7fb35194e
-
該項(xiàng)目的完整代碼
該項(xiàng)目的完整代碼位于此存儲(chǔ)庫(kù)。此存儲(chǔ)庫(kù)還包含在該系列每一部分結(jié)尾處標(biāo)記代碼狀態(tài)的 Git 標(biāo)簽。
詳情請(qǐng)見:
https://github.com/mati-nvidia/omni-bookshelf-generator
-
Omniverse 開發(fā)者資源中心
如需了解更多關(guān)于通用場(chǎng)景描述的信息,以及進(jìn)一步了解 NVIDIA Omniverse 開發(fā)領(lǐng)域的信息,敬請(qǐng)?jiān)L問 Omniverse 開發(fā)者資源中心。
詳情請(qǐng)見:
https://developer.nvidia.cn/nvidia-omniverse-developer-resource-center
原文標(biāo)題:在元宇宙編程系列教程中學(xué)習(xí) USD 知識(shí)
文章出處:【微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
英偉達(dá)
+關(guān)注
關(guān)注
23文章
4087瀏覽量
99221
原文標(biāo)題:在元宇宙編程系列教程中學(xué)習(xí) USD 知識(shí)
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
labview編程及基礎(chǔ)知識(shí)分享
羅萊迪思作為中國(guó)戶外分布式裸眼3D首家企業(yè)入選國(guó)家四部委聯(lián)合公示元宇宙典型案例
嵌入式單片機(jī)開發(fā)學(xué)習(xí)路徑
阻燃系列基礎(chǔ)知識(shí)
小白也能聽懂的單片機(jī)知識(shí)路徑
OBOO鷗柏丨75英寸觸摸屏廣告屏科技館元宇宙信息互動(dòng)展廳系統(tǒng)數(shù)字化
ALVA榮膺2025年度元宇宙創(chuàng)新企業(yè)
NVIDIA Omniverse USD插件開發(fā)中的UI卡頓問題復(fù)現(xiàn)及分析
【「Yocto項(xiàng)目實(shí)戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)」閱讀體驗(yàn)】+基礎(chǔ)概念學(xué)習(xí)理解
FPGA在機(jī)器學(xué)習(xí)中的具體應(yīng)用
嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式
工業(yè)元宇宙的冷思考:哪些場(chǎng)景正在產(chǎn)生真實(shí) ROI?
安科瑞智慧安全用電在無錫市南湖中學(xué)的應(yīng)用
從安防到元宇宙:RK3588如何重塑視覺感知邊界?
工業(yè)元宇宙落地!數(shù)字孿生如何預(yù)測(cè)設(shè)備壽命誤差<3%?
在元宇宙編程系列教程中學(xué)習(xí) USD 知識(shí)
評(píng)論