Skip to content

ft-lab/omniverse_sample_scripts

Repository files navigation

Omniverse sample scripts

ここでは、NVIDIA Omniverse ( https://www.nvidia.com/ja-jp/omniverse/ ) のスクリプトのサンプルを貯めていってます。
Omniverseは、データ構造としてOpenUSDを使用してます。
3Dモデルやシーンのファイルへの保存、読み込みでUSDが使用されるだけでなく、
Omniverse Kitをベースとしてアプリ(USD ComposerやIsaac Sim)のビュー上の制御もUSDを介して行われます。
形状の表示/非表示の切り替えや移動など、これらはUSDの汎用的な操作を介して行います。

ここでは、OmniverseアプリであるOmniverse USD ComposerのScript Editorで試せるスクリプトのサンプルを用途別に列挙します。
Omniverse Kit 110.0.0で確認(WIP: 検証中、、、)しました。

開発の参考サイト

Omniverse開発環境は kit-app-template を使います。
このGitHubのリポジトリの手順に従ってOmniverse Kit環境を構築することができます。 kit-app-templateは、Omniverse Kitをベースとしてひな型アプリを作成することができます。
検証にはこのkit-app-templateからビルドできる"USD Composer"がよく使用されます。

シミュレーション環境に特化した Isaac Sim (5.1.0)は以下のURLをご参照くださいませ。

https://docs.isaacsim.omniverse.nvidia.com/5.1.0/index.html

Isaac SimもOmniverse Kitをベースに開発されています。

Omniverse Developer Overview

https://docs.omniverse.nvidia.com/dev-overview/latest/index.html

Omniverse開発の入口となるサイトです。
全体的に何ができて何が重要か、というのは俯瞰して見ることができます。

Learn OpenUSD

OpenUSDを学ぶサイトです。

https://docs.nvidia.com/learn-openusd/latest/index.html

kit-app-template

https://docs.omniverse.nvidia.com/kit/docs/kit-app-template/latest/docs/intro.html

Omniverse Kit SDKのトップページです。

はじめに

Omniverse USD Composerで、メインメニューの [Developer] - [Script Editor]を選択して、Script Editorを起動します。

omniverse_script_editor_01.png

この中でPythonを使用してプログラムを書きます。
左下のRunボタンを押すか、[Ctrl] +[Enter]キーを押すことで実行します。

以下、Pythonの初歩的な説明です。

コメント

1行のコメントの場合、"#"から行の末尾までがコメントになります。

# comment.

複数行の場合は、""" から """ までがコメントになります。

"""
comment.
line2.
"""

print

デバッグ用のメッセージはprintで記載します。

print("Hello Omniverse !")

学習のための知識

その他の知識は Knowledge に蓄えていく予定です。

Pythonの基礎的なこと

サンプル 説明
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 サンプルスクリプト

Extension

サンプル 説明
Extensions サンプルExtension

About

NVIDIA Ominverse上でPythonスクリプトを使った開発を行うためのガイドを目的としています。 It is intended to be a guide to developing with Python scripts on the NVIDIA Ominverse.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors