ここでは、NVIDIA Omniverse ( https://www.nvidia.com/ja-jp/omniverse/ ) のスクリプトのサンプルを貯めていってます。
Omniverseは、データ構造としてUSDを使用してます。
3Dモデルやシーンのファイルへの保存、読み込みでUSDが使用されるだけでなく、
Omniverse CreateやOmniverse ViewなどのOmniverseアプリのビュー上の制御もUSDを介して行われます(形状の表示/非表示の切り替えや移動など)。
ここでは、OmniverseアプリであるOmniverse CreateのScript Editorで試せるスクリプトのサンプルを用途別に列挙します。
Omniverse Create 2021.3.8 2022.1.4 2022.3.1(Kit.104)で確認しました。
Omniverseの情報は、Omniverse Launcherがポータルになっています。
ここのLEARNにチュートリアル動画やドキュメントなどが列挙されています。
https://developer.nvidia.com/nvidia-omniverse-developer-resource-center
Omniverse開発の入口となるサイトです。
全体的に何ができて何が重要か、というのは俯瞰して見ることができます。
https://docs.omniverse.nvidia.com/prod_kit/prod_kit/overview.html
Omniverse Kitのトップページです。
"Search API"のようなAPIからの検索もあるため、ある程度理解が進んだ方はこちらから進めるのがよいかもしれません。
Omniverse Createで、メインメニューの [Window] - [Script Editor]を選択して、Script Editorを起動します。
この中でPythonを使用してプログラムを書きます。
左下のRunボタンを押すか、[Ctrl] +[Enter]キーを押すことで実行します。
以下、Pythonの初歩的な説明です。
1行のコメントの場合、"#"から行の末尾までがコメントになります。
# comment.複数行の場合は、""" から """ までがコメントになります。
"""
comment.
line2.
"""デバッグ用のメッセージはprintで記載します。
print('Hello Omniverse !')| サンプル | 説明 |
|---|---|
| Python | Pythonの文字列処理やクラスなど。 Pythonの標準機能。 |
| サンプル | 説明 |
|---|---|
| Audio | Audioの再生 |
| Animation | Animation関連 |
| Camera | カメラ操作 |
| Geometry | ジオメトリの作成/情報取得 |
| Light | 光源の作成/操作 |
| Material | マテリアルの割り当て |
| Math | ベクトル/行列計算関連 |
| Operation | Ominverseの操作/イベント処理 |
| Event | イベント処理 |
| Physics | Physics(物理)処理 |
| pip_archive | Pythonのよく使われるモジュールの使用 |
| Prim | USDのPrim(ノード)の操作 |
| Rendering | レンダリング画像の取得 |
| Scene | シーン(Stage)情報の取得/読み込みなど |
| Settings | 設定の取得 |
| System | システム関連情報の取得 |
| UI | UI操作 |
| Post Processing | Post Processingのパラメータを変更 (omni.kit.commands.executeを使用) |
| AssetConverter | obj/fbx/glTFファイルなどをUSDファイルに変換 |
| Nucleus | Nucleus上のファイル操作 |
| サンプル | 説明 |
|---|---|
| PLATEAU | Project PLATEAUの3D都市データをOmniverseに読み込み |
| サンプル | 説明 |
|---|---|
| Samples | サンプルスクリプト |
| サンプル | 説明 |
|---|---|
| Extensions | サンプルExtension |
