無用的前言
近兩年關于 Omniverse 的宣傳一直很多,可我一直沒去了解,連它是個啥都不知道。最近正好有契機需要了解它,于是我今天抽時間看了些它的官方介紹,并按照自己的理解梳理在這里。
官方資料索引
Omniverse 官網主頁:https://www.nvidia.com/en-us/omniverse/
Omniverse 文檔主頁:https://docs.omniverse.nvidia.com/
B站 NVIDIA 官方賬號發布的 Omniverse平臺概述(中文):Omniverse平臺概述 - 第1部分:Omniverse系列簡介_嗶哩嗶哩_bilibili
通用場景描述(OpenUSD)- 四大超強功能開啟體驗之旅_嗶哩嗶哩_bilibili
(其實,我認為官方的資料已經夠好。或許自己去看官方資料,比看我這里的梳理會更有幫助)
Omniverse是什么?它想要幫助我們什么?
主頁上是這樣概括的:
也就是說:Omniverse 是一個平臺,它可以連接/開發基于USD的3D應用/工作流。
接著,它從 “創作者” 與 “開發者” 的角度說明了它如何提供幫助
對于創作者
官方這樣概括:
也就是說:Omniverse 將作為一個中心連接已有的3D應用/工作流,讓創作者能以實時同步的方式進行創作,而這也借助了USD的力量。
對于開發者
官方這樣概括:
也就是說:它讓開發者可以用相對少的代碼開發自定義的擴展、工具、可加速你3D工作流的微服務等等。
官方文檔:開發者指南概述 中指出,開發者可以開發:
- 擴展:能增強應用程序能力與行為的擴展。
- 應用程序:為特定領域和工作流程量身定制的應用程序。
- 服務: 高度定制的USD工作流中的一些后臺(無界面的)處理。
- 連接器:作為將第三方應用程序連接到 Omniverse 的“橋梁”。
Omniverse的組成部分
官方文檔:平臺總覽中指出Omniverse有下面五個核心的組成部分:
Omniverse平臺概述 - 第2部分:Omniverse平臺結構_嗶哩嗶哩_bilibili 中對各部分也進行了介紹,此3分鐘的視頻對于入門者而言非常有幫助。
此外還有兩個額外的組成部分:Omniverse 啟動器,Omniverse 插件。
下面逐個梳理各個組成部分的基礎概念。
1★. Nucleus :中央數據庫
正如其名字所提示那樣,它算是 Omniverse 的核心。
官方介紹中說:你可以將 Nucleus 視為可存儲3D內容的私有云。
Nucleus 提供了:
- 用戶身份認證
- 協作服務
- 數據存儲
Nucleus 有兩種方式建立:
- 企業 Nucleus 服務器:在本地或云服務提供商進行企業部署。
- 工作站:提供了一套全面的服務來評估和使用 Nucleus,適用于那些想要在本地嘗試 Omniverse 并與其他用戶協作的用戶,支持最多 2 位用戶的個人或團隊。
2★. Kit :開發者工具包
算是 Omniverse 上所有應用的支柱。
它是開發者面對的SDK,它提供了:
- 開發者框架
- 可以構建特定于工作流的應用程序
- 很高的擴展性
官方文檔指出了 Kit 的幾個主要組成部分:
- USD/Hydra
- Omniverse 客戶端庫:Omniverse 客戶端在加載和保存資源(例如 USD、MDL 和紋理)時用來與 Omniverse 服務器以及本地文件系統進行通信的庫
- Carbonite:Carbonite SDK 提供所有 Omniverse 應用程序的核心功能
- Omniverse RTX 渲染器
- 腳本(Kit附帶一個版本的 python (當前為 3.7),你可以在基于Kit的應用程序中運行任意 python 腳本,可以執行多種功能)
- UI工具包
3★. Connect:連接其他應用的橋梁
Omniverse Connect 將其他應用連接到Omniverse上,目前很多應用已經連接:
開發者也可以使用SDK創建定制的連接器。
其實對于創作者,實際接觸到的主要就是 Nucleus、連接器、其他應用 這三部分
4. RTX 渲染器
基于 NVIDIA RTX? 的高級多 GPU 渲染器,支持實時光線追蹤和路徑追蹤渲染。
5. 仿真模擬
一套功能強大的工具和 SDK,基于物理準確性來模擬世界。
6*. 啟動器
用于下載、安裝和更新 Omniverse 應用程序、擴展程序和連接器的本機客戶端。
可以在官網上下載
7*. 擴展插件
基于 Omniverse Kit 的插件。開發人員使用擴展插件來創建、修改、擴展他們的工具和工作流,以此來提高工作效率。