これらのサンプルは、OpenUSD コンバーターを作成するためのいくつかの重要な概念を示しています。サンプルでは、OpenUSD と OpenUSD Exchange SDK (ドキュメント、github) を使用して、一貫性のある正しい USD を作成する方法を示します。
Asset Validator
createStage
createCameras
createLights
createMaterials
createMesh
createReferences
createSkeleton
createTransforms
setDisplayNames
このプロジェクトには「make」と「g++」が必要です。
ターミナルを開きます。
「make」を取得するにはsudo apt install make
(Ubuntu/Debian) またはyum install make
(CentOS/RHEL) と入力します。
「g++」の場合は、 sudo apt install g++
(Ubuntu/Debian) またはyum install gcc-c++
(CentOS/RHEL) と入力します。
提供されたビルド スクリプトを使用して、他のすべての依存関係 (USD など) をダウンロードし、Makefile を作成し、コードをコンパイルします。
./repo.sh ビルド
run.sh
スクリプト (例: ./run.sh createStage
) を使用して、事前構成された環境で各プログラムを実行します。
ヒント: 環境を自分で管理したい場合は、
<samplesRoot>/_build/linux64-x86_64/release
をLD_LIBRARY_PATH
に追加します。
コマンドライン引数のヘルプを表示するには、 --help
help を使用します。
./run.sh createStage --help
python.sh
スクリプト (例: ./python.sh source/createStage/createStage.py
) を使用して、事前構成された環境で各プログラムを実行します。
コマンドライン引数のヘルプを表示するには、 --help
help を使用します。
./python.sh ソース/createStage/createStage.py --help
このプロジェクトには Microsoft Visual Studio 2019 以降が必要です。 C++ を使用して Visual Studio をダウンロードしてインストールします。
提供されたビルド スクリプトを使用して、すべての依存関係 (USD など) をダウンロードし、プロジェクトを作成し、コードをコンパイルします。
.repo.bat ビルド
run.bat
スクリプト (例.run.bat createStage
) を使用して、事前構成された環境で各プログラムを実行します。
コマンドライン引数のヘルプを表示するには、 --help
help を使用します。
.run.bat createStage --help
python.bat
スクリプト (例.python.bat sourcecreateStagecreateStage.py
) を使用して、事前構成された環境で各プログラムを実行します。
コマンドライン引数のヘルプを表示するには、 --help
help を使用します。
.python.bat ソースcreateStagecreateStage.py --help
VS IDE 内でビルドするには、Visual Studio の_compiler
フォルダーにあるソリューションを開きます。 サンプル C++ コードは、そこから調整、デバッグ、再構築などを行うことができます。
注 : ユーザーが OpenUSD Exchange サンプルを
%LOCALAPPDATA%
フォルダーにインストールした場合、ソースの変更の取得に問題があるため、変更が行われたときに Visual Studio は適切に「ビルド」しません。 この問題に対処するには、次のいずれかを実行します。
ソースを変更するたびに、
Build
ではなくプロジェクトをRebuild
。OpenUSD Exchange Samples フォルダーを
%LOCALAPPDATA%
以外の別のフォルダーにコピーします。%LOCALAPPDATA% の外側のフォルダーへのジャンクションを作成し、そこからソリューションを開きます。
mklink /JC:usd-exchange-samples %LOCALAPPDATA%cloned-reposusd-exchange-samples
サンプル リポジトリは、Repo Tools Framework ( repo_man
) を使用して、premake、packman、ビルドとランタイムの依存関係、テスト、フォーマット、その他のツールを構成します。 Packman は、OpenUSD、Omniverse Asset Validator、OpenUSD Exchange SDK などのパッケージの依存関係マネージャーとして使用されます。サンプルでは、OpenUSD、OpenUSD Exchange SDK、およびその他の依存関係を含めてリンクするためのテンプレートとして、OpenUSD Exchange SDK の repo_man、premake、および Packman ツールを使用します。 これらは、顧客のアプリケーションに必要なビルドおよびランタイム構成の例として役立ちます。 興味深いファイルのリストを次に示します。
premake5.lua - サンプルのビルド構成ファイル
prebuild.toml - ランタイムの依存関係をコピーする場所を指定するためにリポジトリ ビルド ツールによって使用されます ( repo install_usdex
既にインストールしているリポジトリを超えて)
_build/target-deps/usd-exchange/release/dev/tools/premake/usdex_build.lua
- USD、OpenUSD Exchange SDK 自体、およびその他のライブラリを含めるための OpenUSD Exchange SDK のプリメイク ビルド構成テンプレート ファイル。
このファイルは依存関係がフェッチされるまで使用できません
OpenUSD Exchange SDK のビルド フレーバー、機能、またはバージョンの選択とインストールの詳細については、install_usdex ツールのドキュメントを参照してください。
アプリケーションで OpenUSD Exchange SDK と OpenUSD を使用する方法のチュートリアルについては、OpenUSD Exchange SDK の入門ドキュメントを参照してください。
リストされているサンプルは、次の重要な概念に焦点を当てています。
オープン米ドル
米ドルカメラ
USD 表示名
USDライト
USDマテリアル
USD メッシュ
USD プリム名
USD プリムバー
USDステージ
USD Xform
サンプルは順次実行することを目的としており、最初にcreateStage
サンプルで作成された USD ステージを構築します。 は独立して実行することもでき、ステージが存在するかどうかに応じてステージを開くか作成します。 1 つのコマンドですべてのサンプルを順番に実行するには、ビルド後にコマンド ラインに次のように入力します。
Linux: ./repo.sh test -f testRunAll -e keep Windows: .repo.bat test -f testRunAll -e keep
これにより、すべてのサンプルが順次実行された後、C++ および Python で生成されたステージの場所が出力されます。
自己署名証明書の問題によりサンプルのスクリプトが失敗した場合、考えられる回避策は次のとおりです。
python-certifi-win32 をインストールすると、Windows 証明書ストアを TLS/SSL リクエストに使用できるようになります。
toolspackmanpython.bat -m pip install python-certifi-win32 --trusted-host pypi.org --trusted-host files.pythonhosted.org
まず、既存の GitHub の問題と OpenUSD Exchange SDK ディスカッションを検索して、同様のことを報告している人がいないかどうかを確認します。
そうでない場合は、バグや機能リクエストを説明する新しい GitHub 問題またはフォーラム トピックを作成してください。
バグの場合は、必要に応じて失敗データの例など、問題を再現するための明確な手順を提供してください。
機能については、ユーザー ストーリーとペルソナの詳細 (つまり、この機能が誰にどのように役立つのか) を提供してください。
既存の問題に詳細を追加する場合でも、新しい問題を作成する場合でも、影響を受ける企業をお知らせください。
サンプルのライセンスは LICENSE.md にあります。
サンプルで使用される依存関係に関するサードパーティのライセンス通知は、OpenUSD Exchange SDK ライセンス通知に記載されています。
OpenUSD ドキュメント - 最初の USD ステージの作成
OpenUSD API ドキュメント
OpenUSD ユーザードキュメント
NVIDIA OpenUSD のリソースと学習
OpenUSD コードサンプル
NVIDIA OpenUSD ドキュメント
NVIDIA OpenUSD Exchange SDK ドキュメント