18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

NVIDIA Omniverse Extension開發(fā)秘籍

麗臺(tái)科技 ? 來源:麗臺(tái)科技 ? 2025-08-22 15:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

NVIDIA Omniverse是一個(gè)模塊化平臺(tái),使用高級(jí) API 和微服務(wù)來構(gòu)建由OpenUSDNVIDIA RTX提供支持的 3D 應(yīng)用。OpenUSD 功能強(qiáng)大的 3D 框架與 NVIDIA RTX 用于視覺渲染和模擬的實(shí)時(shí)光線追蹤相結(jié)合,使開發(fā)者能夠?yàn)楦餍懈鳂I(yè)構(gòu)建可擴(kuò)展的解決方案。

NVIDIA Omniverse 的開發(fā)支持PythonC++兩種語言。Python 開發(fā)效率高,因此 Omniverse 的主要開發(fā)以 Python 為主。而 C++ 開發(fā)則可以通過著名的開源框架 Pybind11 封裝好后提供 Python 接口。

1開發(fā)環(huán)境準(zhǔn)備

1.1 Visual Studio code

推薦使用 Visual Studio Code 開發(fā),有條件的可以使用 Cursor 等 AI 開發(fā)工具,或者結(jié)合 GPT、Deepseek 等輔助開發(fā)。

Visual Studio code 下載:

https://code.visualstudio.com/

(復(fù)制鏈接至瀏覽器打開,下同)

1.2 Omniverse Kit template

有 2 種部署方式:可以選擇自己搭建,或者通過網(wǎng)盤下載打包文件,具體步驟參照:

《0 基礎(chǔ)上手!NVIDIA Omniverse Kit 107 部署指南》

《福利丨NVIDIA Omniverse Kit 107.2 打包放送!》

2創(chuàng)建 Omniverse Extension

2.1 在Kit App template(重命名為 Kit107.3)目錄下,以 Windows 為例,在命令行模式下運(yùn)行:

repotemplatenew

04d75fc6-7d6b-11f0-a18e-92fbcf53809c.png

2.2 選擇 Extension:

04eb9518-7d6b-11f0-a18e-92fbcf53809c.png

2.3 然后再選擇 Python UI Extension:

04fdffd2-7d6b-11f0-a18e-92fbcf53809c.png

2.4 輸入 Extension 的名字“nv.hello_world”,顯示窗口的名字“Hello world”:

0511abd6-7d6b-11f0-a18e-92fbcf53809c.png

2.5相同目錄下運(yùn)行repo launch打開 NVIDIA Omniverse USD Composer,點(diǎn)擊 Developer -- Extension(如下圖所示),打開剛才創(chuàng)建的Hello world:

052720d8-7d6b-11f0-a18e-92fbcf53809c.png

2.6 點(diǎn)擊上圖的 VS Code 按鈕, VS code 就會(huì)把整個(gè)用戶創(chuàng)建的 Extension 目錄打開。找到創(chuàng)建的nvhello_world目錄下面的Extension.py。

053d0b96-7d6b-11f0-a18e-92fbcf53809c.png

每個(gè)Extension.py對(duì)應(yīng)每個(gè)插件的入口文件,其中會(huì)默認(rèn)創(chuàng)建on_startup和on_shutdown這 2 個(gè)函數(shù):

defon_startup(self, _ext_id):
defon_shutdown(self):

3Extension Debug 開發(fā)調(diào)試

調(diào)試是確保程序運(yùn)行正常的必要環(huán)境,Omniverse 支持VS Code Live debug 調(diào)試打印 Log debug 調(diào)試兩種方式,下面將展開介紹這兩種 debug 調(diào)試方式。

3.1 VSCode Live Debug 調(diào)試

VS Code 調(diào)試可以根據(jù)斷點(diǎn)設(shè)置實(shí)時(shí)查看各種變量。

3.1.1 點(diǎn)擊菜單 Run -- Start Debugging:

0556c586-7d6b-11f0-a18e-92fbcf53809c.png

3.1.2 點(diǎn)擊 Omniverse 窗口中插件窗口的“Add”按鈕,此時(shí)可以看到斷點(diǎn)被觸發(fā):

05719e74-7d6b-11f0-a18e-92fbcf53809c.png

3.2 打印 Log debug 調(diào)試

在很多情況下并不適合斷點(diǎn)調(diào)試,比如和時(shí)序相關(guān)的很多 Bug 或者觸發(fā)條件很復(fù)雜的情況,這時(shí)候需要打印 Log 來進(jìn)行調(diào)試。

許多開發(fā)者用 Python 默認(rèn)的 print 函數(shù)來進(jìn)行打印調(diào)試,這里推薦用 Omniverse 封裝好的函數(shù)。

在 Omniverse Kit 開發(fā)中,可以用carb.log_info,carb.log_warn,carb.log_error。這 3 個(gè)在“console”窗口進(jìn)行分類且會(huì)對(duì)應(yīng)不同的顏色。

3.2.1 首先在代碼中import carb .然后在代碼中分別在三個(gè)不同的函數(shù)中填入carb.log_info,carb.log_warn和carb.log_error。

* 注意此處每個(gè) log 都填入了 [NV_Hello_World] 這樣做的目的是在“Console”窗口查看對(duì)應(yīng)的 Extension 時(shí),過濾掉其他 Extension 不相關(guān)的信息。在開發(fā)過程中制定好某些規(guī)范,可讓開發(fā)調(diào)試更有效率。

0589c1de-7d6b-11f0-a18e-92fbcf53809c.png

3.2.2 在“Console”窗口中,點(diǎn)擊不同的顏色可以區(qū)別顯示不同類別的 Log,過濾窗口過濾掉非本 Extension 的調(diào)試信息。

05a06e0c-7d6b-11f0-a18e-92fbcf53809c.png

4用 Pybind11 結(jié)合 C++開發(fā) Omniverse Extension

pybind11 是現(xiàn)階段流行的一個(gè) C++ 結(jié)合 Python 的開發(fā)框架,本質(zhì)是一個(gè)輕量級(jí)的頭文件庫,用來把 C++ 接口封裝以后暴露給 Python 使用。

這樣在 Omniverse Extension 開發(fā)中,既可以滿足 Python 快速開發(fā) UI 的便捷需求,又可以利用 C++ 高效對(duì)接許多底層硬件工業(yè)設(shè)備,比如 SDI 視頻采集卡。

*這里不建議用 Omniverse 自帶的 C++ Extension 去開發(fā):因?yàn)?C++ 版本的在編寫 Omniverse UI 方面便捷性不足,在 Omniverse Extension 級(jí)別的開發(fā)還是以 Python 為主。

4.1 開發(fā)環(huán)境安裝

要開發(fā) Pybind11 程序,需要 Pybind11 文件庫和 Python3.11 運(yùn)行環(huán)境。也可以直接用 Omniverse 自帶的 Python 運(yùn)行環(huán)境,目前是 3.11 版本,在 Omniverse 安裝目錄下面的..\_buildwindows-x86_64 eleasekitpython

下載 Pybind11 開發(fā)庫:

首先我們?cè)?Github 上下載:

https://github.com/pybind/pybind11

git clonehttps://github.com/pybind/pybind11.git到本地目錄。

下載 Python 運(yùn)行環(huán)境并安裝:

https://www.python.org/downloads/release/python-3110/

下載 Visual Studio 開發(fā)環(huán)境:

https://visualstudio.microsoft.com/zh-hans/free-developer-offers/

4.2 設(shè)置環(huán)境變量(以 Windows 為例)

在 Windows 系統(tǒng)環(huán)境變量中(Windows 開始菜單 -- 搜索“環(huán)境變量”)設(shè)置開發(fā)路徑,分別設(shè)置py311_include,py311_lib和pybind_include這 3 個(gè)環(huán)境變量用于后續(xù)開發(fā)。

05cc9c7a-7d6b-11f0-a18e-92fbcf53809c.png

4.3 開發(fā)環(huán)境配置

用 Visual Studio 封裝 Pybind(Linux 或者跨平臺(tái) CMakelist 等請(qǐng)參考 Pybind11 官方文檔),安裝 Visual Studio 并選擇 C++ 開發(fā)組件,然后創(chuàng)建一個(gè) C++ 空項(xiàng)目,起名為“Example”。

4.3.1 修改生成程序?yàn)?DLL 動(dòng)態(tài)鏈接庫形式。

05dedcaa-7d6b-11f0-a18e-92fbcf53809c.png

4.3.2 配置頭文件,把之前設(shè)置的頭文件環(huán)境變量填寫在如下圖所示的地方。

05ee746c-7d6b-11f0-a18e-92fbcf53809c.png

4.3.3 動(dòng)態(tài)鏈接庫設(shè)置。

0603dc3a-7d6b-11f0-a18e-92fbcf53809c.png

4.3.4 填入python311.lib和python3.lib。

06149bb0-7d6b-11f0-a18e-92fbcf53809c.png

4.3.5 輸出設(shè)置

DLL 工程默認(rèn)生成是.dll,但實(shí)際 Omniverse 工程中需要的是.pyd擴(kuò)展名,所以在 Post-Build Event 中執(zhí)行下面命令,拷貝并且重新設(shè)置擴(kuò)展名:

copy/Y"$(OutDir)$(TargetName).dll""$(OutDir)$(TargetName).pyd"

062755f2-7d6b-11f0-a18e-92fbcf53809c.png

4.4 代碼開發(fā)

在 Visual Studio 工程中創(chuàng)建一個(gè)source.cpp填入以下代碼:

#include


namespacepy = pybind11;


intadd(inti,intj){
 returni + j;
}
PYBIND11_MODULE(Example, m, py::mod_gil_not_used()) {
  m.doc() ="pybind11 Example plugin";// optional module docstring
  m.def("add", &add,"A function that adds two numbers");
}

編譯代碼成功以后看到生成一個(gè)Example.pyd。

* 注意 Example 要和 PYBIND11_MODULE 中的大小寫完全一樣)。

063a67aa-7d6b-11f0-a18e-92fbcf53809c.png

4.5 在 Omniverse 調(diào)用 pyd

拷貝剛才生成的 pyd 文件到 Omniverse 的 Python 鏈接庫文件夾下面??梢宰孕芯帉懩_本,或者在之前的 post-build 中執(zhí)行命令:

..\_buildwindows-x86_64releasekitpythonDLLs

打開 Omniverse 菜單欄 Developer--Script Editor,輸入以下代碼點(diǎn)擊 Run,可以看到封裝的 C++ 函數(shù)在 Python 端被正確調(diào)用執(zhí)行。

importExample
result = Example.add(1,2)
print(f"Pybind Example result is{result}")
help(Example.add)
print(Example.__doc__)
print(Example.add.__doc__)

0651be64-7d6b-11f0-a18e-92fbcf53809c.png

下期將帶來實(shí)戰(zhàn)項(xiàng)目——利用 Omniverse Extension 開發(fā) FreeD 定位系統(tǒng)。敬請(qǐng)持續(xù)關(guān)注麗臺(tái)科技,獲取更多干貨內(nèi)容!

文案&技術(shù)支持:

宋毅明 NVIDIA 半導(dǎo)體專業(yè)可視化部門

*與NVIDIA產(chǎn)品相關(guān)的圖片或視頻(完整或部分)的版權(quán)均歸NVIDIA Corporation所有。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5442

    瀏覽量

    108484
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3885

    瀏覽量

    45295
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2120

    瀏覽量

    76521
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4849

    瀏覽量

    89099

原文標(biāo)題:NVIDIA Omniverse Extension 開發(fā)秘籍:Python/C++ 實(shí)戰(zhàn),附完整代碼

文章出處:【微信號(hào):Leadtek,微信公眾號(hào):麗臺(tái)科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    NVIDIANVIDIA Omniverse帶給全球超過250萬的開發(fā)

    NVIDIA開發(fā)者計(jì)劃現(xiàn)將NVIDIA Omniverse帶給全球超過250萬的開發(fā)者。在SIGGRAPH大會(huì),
    的頭像 發(fā)表于 08-16 16:08 ?1908次閱讀

    NVIDIA Omniverse連接游戲開發(fā)工作流

    NVIDIA Omniverse 為游戲中的藝術(shù)和虛擬世界提供實(shí)時(shí)、協(xié)作的設(shè)計(jì)平臺(tái),從而加快開發(fā)速度
    的頭像 發(fā)表于 04-01 09:30 ?1538次閱讀

    NVIDIA Omniverse Create最新版功能介紹

      NVIDIA Omniverse Create 2021.3 現(xiàn)已在中提供公開測(cè)試版,為 Omniverse 藝術(shù)家、設(shè)計(jì)師、開發(fā)人員和工程師提供一組新功能,以增強(qiáng)圖形和內(nèi)容創(chuàng)建工
    的頭像 發(fā)表于 04-07 15:34 ?2140次閱讀

    NVIDIA Omniverse在動(dòng)畫制作中的應(yīng)用

    介紹使用 NVIDIA Omniverse 3D 模擬和協(xié)作平臺(tái)推動(dòng)藝術(shù)或設(shè)計(jì)流程的個(gè)人創(chuàng)作者和開發(fā)者。
    的頭像 發(fā)表于 05-13 11:28 ?1726次閱讀

    NVIDIA Omniverse的特性及應(yīng)用

    NVIDIA Omniverse 基于 Pixar 的 Universal Scene Description 和 NVIDIA RTX技術(shù)打造,是一款可擴(kuò)展的多 GPU 實(shí)時(shí)推理開發(fā)
    的頭像 發(fā)表于 06-15 09:53 ?1947次閱讀

    Omniverse 先鋒面對(duì)面:動(dòng)畫師使用 NVIDIA Omniverse 為大家?guī)須g樂和知識(shí)

    Omniverse 先鋒面對(duì)面”系列文章 介紹使用 NVIDIA Omniverse 3D 模擬和協(xié)作平臺(tái)推動(dòng)藝術(shù)創(chuàng)作或設(shè)計(jì)流程的個(gè)人創(chuàng)作者和開發(fā)者。 Marko Matosevic
    的頭像 發(fā)表于 11-10 11:00 ?1135次閱讀

    奧比中光將接入 NVIDIA Omniverse開發(fā)平臺(tái)

    ,作為其合作伙伴,奧比中光正式宣布將Femto Mega和其它3D相機(jī)集成到NVIDIA Omniverse生態(tài)開發(fā)平臺(tái)中。 NVIDIA 全球產(chǎn)業(yè)數(shù)字化生態(tài)布局伙伴, 奧比中光也在其
    的頭像 發(fā)表于 05-31 09:03 ?1310次閱讀

    NVIDIA 知乎精彩問答甄選 | 查看關(guān)于 NVIDIA Omniverse 的相關(guān)精彩問答

    甄選問答將為您分享? NVIDIA Omniverse 的相關(guān)精彩問答 Q: NVIDIA 全新的 Omniverse Cloud API 有何亮點(diǎn)? A:
    的頭像 發(fā)表于 12-01 18:40 ?870次閱讀
    <b class='flag-5'>NVIDIA</b> 知乎精彩問答甄選 | 查看關(guān)于 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Omniverse</b> 的相關(guān)精彩問答

    NVIDIA Omniverse中的物理模擬功能

    NVIDIA Omniverse? Simulation 作為 NVIDIA Omniverse? 平臺(tái)的關(guān)鍵組件之一,由 NVIDIA
    的頭像 發(fā)表于 03-08 11:30 ?2383次閱讀
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Omniverse</b>中的物理模擬功能

    NVIDIA宣布將以API形式提供Omniverse? Cloud

    NVIDIA Omniverse Cloud API 使開發(fā)者能夠?qū)?Omniverse 技術(shù)集成到其設(shè)計(jì)與仿真工具和工作流中。
    的頭像 發(fā)表于 03-20 09:45 ?997次閱讀

    全新NVIDIA Omniverse Cloud API有何亮點(diǎn)?

    NVIDIA Omniverse Cloud API 使開發(fā)者能夠?qū)?Omniverse 技術(shù)集成到其設(shè)計(jì)與仿真工具和工作流中。
    的頭像 發(fā)表于 03-20 13:42 ?941次閱讀

    Omniverse教程(12):NVIDIA Omniverse USD Presenter的基礎(chǔ)應(yīng)用

    如前所述,NVIDIA Omniverse? 是一個(gè)參考開發(fā)平臺(tái),通過模塊化的開發(fā)框架能夠輕松擴(kuò)展和自定義。
    的頭像 發(fā)表于 05-20 10:09 ?1564次閱讀
    <b class='flag-5'>Omniverse</b>教程(12):<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Omniverse</b> USD Presenter的基礎(chǔ)應(yīng)用

    使用OpenUSD和NVIDIA Omniverse開發(fā)虛擬工廠解決方案

    工業(yè)開發(fā)者正在借助 NVIDIA AI、NVIDIA Omniverse 和通用場(chǎng)景描述 (OpenUSD)生態(tài)系統(tǒng)的力量構(gòu)建虛擬工廠解決方案,通過優(yōu)化棕地和綠地
    的頭像 發(fā)表于 05-28 18:12 ?1886次閱讀
    使用OpenUSD和<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Omniverse</b><b class='flag-5'>開發(fā)</b>虛擬工廠解決方案

    借助OpenUSD和NVIDIA Omniverse開發(fā)數(shù)字孿生應(yīng)用

    接口、軟件開發(fā)套件和服務(wù)組成的,使開發(fā)者能夠開發(fā)基于 OpenUSD 的應(yīng)用 NVIDIA Omniverse
    的頭像 發(fā)表于 09-06 14:18 ?963次閱讀

    NVIDIA Omniverse擴(kuò)展至生成式物理AI領(lǐng)域

    重要方向。 這一創(chuàng)新舉措不僅增強(qiáng)了Omniverse的多元化應(yīng)用能力,更為全球軟件開發(fā)和專業(yè)服務(wù)領(lǐng)域的領(lǐng)先企業(yè)提供了全新的開發(fā)工具和平臺(tái)。借助Omniverse,這些企業(yè)能夠更快地
    的頭像 發(fā)表于 01-13 10:56 ?985次閱讀