
ぷらずも
みなさんこんにちは!
ぷらずもです!

エレキベア
こんにちクマ~~~

ぷらずも
今日は引き続きUSDを触っていきます!
前回概要までまとめたので、今回は実際に Pythonによる実行環境を作って操作 してみようと思います。

【OpenUSD】USD入門 その1:概要とデータ構造についてまとめる
2025-12-25
▲前回はUSDの概要についてまとめた

エレキベア
ついにUSDを触るクマね
楽しみクマ~~~
Python実行環境を構築する

ぷらずも
それでは座学はこのあたりまでにして、実際にUSDを触れる環境を用意していこうと思います。
USDは前述した通りOSSになっていて、以下のGitHubリポジトリとして公開されています。
- GitHubリポジトリ

エレキベア
環境構築手順周りもGitHubの方に記載されているクマね

ぷらずも
なお今回は v25.11 のバージョンを使用して、Python環境で触れる環境を構築 します。
なお、自分の環境で試したスクリプトのサンプルは以下に格納してありますので、こちらもよければご参照ください。
- 今回確認したバージョン
- v25.11
- 試したサンプルスクリプト
環境構築手順

ぷらずも
環境構築手順については 公式リポジトリのREADMEに記載されている ので基本的にはそちらの手順に従いましょう。
以下は Windowsでビルドする場合に必要な情報 をかいつまんだものになります。
-
(ローカルにない場合) Visual Studio、Pythonをインストールします。
- バージョンについては VERSIONS.md を参照
- 今回はVisual Studio 2022、Python 3.9.13 を導入
- C++コンパイル環境も必要になるので、「C++によるデスクトップ開発」にチェックを入れてインストールする
▲VisualStudioインストール時にC++コンパイル環境も導入しておく
-
該当バージョンのPythonのpipで必要なライブラリをインストールします。
-
OpenUSDリポジトリをローカルにクローンします。
-
VisualStudio同梱の「Developer Command Prompt for VS 2022」を開いて、下記コマンドでビルドを実行します。
- ※結構時間かかります。(自分の場合は30分ほどでした)
-
Successメッセージが表示されれば完了です。

ぷらずも
ここまでで以下のように指定したフォルダに環境が用意されていれば完了です!

▲処理が完了して環境が用意された状態

エレキベア
シンプルクマが、自分でビルドしないといけないのは面倒クマね・・・
Pythonスクリプトの実行方法

ぷらずも
次に実行方法についてですが、作成した 実行環境内のフォルダをパスとして通す必要 があります。
以下を通しておくと、USD関連モジュールや各種ツールが使えるようになります。
- PYTHONPATH
- [実行環境作成先のパス]\lib\python
- PATH
- [実行環境作成先のパス]\bin
- [実行環境作成先のパス]\lib
▲コマンドプロンプトから環境変数を通して実行する場合

エレキベア
ビルドして実行環境は用意されているクマから、そこにパスを通せばいいクマね

ぷらずも
USD関連の処理は、pxrモジュールからインポートして使用することが出来ます。
チュートリアル例に習って、「青色のSphereを同梱しただけのUSD」を作成する処理 と実行結果は以下のようになります。
▲Sphereを含んだUSDを作成するスクリプト
▲実行して作成されたUSD

エレキベア
おお~~簡単にUSDファイルが作成されたクマね

ぷらずも
usdviewというUSDファイル専用Viewer も用意されているので、こちらも同様にパスを通して実行することで確認することが出来ます。
usdviewにUSDファイルパスを渡すことで起動する

▲起動した状態、青色のSphereが表示された

エレキベア
専用ViewerがあるとDCCツールをいちいち開かなくて済むしいいクマね

ぷらずも
なおデフォルト状態でかなりカクカクな見た目になっていると思いますが、こちらは Complexity(複雑度)から変更 することが出来ます。

▲複雑度を変更できる(Ctrl + +、Ctrl + -)
Pythonによる操作例

ぷらずも
それではいくつか USD操作処理のサンプル を置いておきます。
基本的に公式チュートリアルの内容からピックアップしたものなので、詳しい内容が知りたい方はそちらをご参照ください。
- 公式チュートリアル
- APIドキュメント

エレキベア
しっかりチュートリアルも用意していただいていてありがたいクマね

ぷらずも
チュートリアルで慣れたら、APIドキュメントを見つつより本格的な実装に挑戦してみるとよさそうですね。
Reference設定例
▲SphereをReferenceして新たなSphereを2つ配置する
▲Reference先はdefaultPrim定義が必要
▲Reference設定とプロパティの上書きが確認できる

▲HelloWorld_Ref.usda を開くと2つのSphereが並ぶのが確認できる
VariantSets設定例
▲VariantSetsの設定例(色違いのバリエーション)
▲作成されたUSD

▲usdviewで確認した状態

▲MetaDataタブから定義したバリエーションを変更が可能なことが確認できる
マテリアル・テクスチャ設定例
▲ビルボード、マテリアルを作成し、テクスチャを設定する例

▲事前に用意したテクスチャ
▲作成されたUSD

▲用意したテクスチャがメッシュに貼られて表示されているのが確認できる

ぷらずも
ざっといくつか例を紹介してみました!
このあたりは実際に手を動かして試してみるのが一番いいと思います。

ぷらずも
なお最後に紹介したマテリアル設定については、デフォルトで用意されているUsdPreviewSurfaceというプレビュー用のマテリアルを使用しています。
マテリアルに関しては、ILMが開発している MaterialXという汎用的なマテリアルフォーマット もあり、USDとの連携も可能のようです。
こちらもかなり有用な技術なので、別記事で触れてみようと思います!
-
UsdPreviewSurface
-
MaterialX

エレキベア
マテリアル周りも汎用化が進んでいるクマね
夢が広がるクマ・・・!
USDサンプルから構成例を見る

ぷらずも
最後におまけとして、USDが実際のアセットでどのような構成で使われるのか? についていくつかサンプルを紹介します。

エレキベア
まあ操作方法が分かってもどのように使えばいいか分からないとどうしようもないクマからね・・・
KitchenSet

ぷらずも
はじめに、USD確認用アセットとして定番のKitchenSetです。
こちらはUSD公式ドキュメント内で配布されています。

▲KitchenSetはUSDを活用したアセット構成のサンプルとしても優れている

▲KitchenSetをusdviewで開いた状態

ぷらずも
背景を作る際にどのような単位でUSDを分けて管理するかの一例が見れると思います。
KitchenSet以外に公開されているCitySet、UsdSkel Examplesもサンプルとして有用そうですね!

エレキベア
このシーンはめちゃくちゃ見かけることが多いクマね
Moana Island Scene

ぷらずも
そして大規模シーンの例として紹介したいのが、Disneyが公開しているモアナの島のアセット です。
- Moana Island Scene

▲ディズニーが公開しているモアナの島のサンプル、USDも公開されている

エレキベア
おぉ・・・!こんな本格的なアセットが公開されていたクマか

ぷらずも
USDファイルでも配布されている他、アセット構成についてのドキュメントも同梱されています。
大規模シーンをUSDでどのように構成するのかが見れて、とてもよいサンプルだと思います。

▲付属PDFより引用、USDの構成についても記載されている
USD・Solaris関連の動画・記事

ぷらずも
最後に触れておきたいのが、USD・Solaris関連の情報 です。
HoudiniのSolarisという環境がUSDベースで作られており、パイプラインを構築する際に合わせて使用されることが多いです。
これらの講演動画や記事などをあさってみると、有用な情報がたくさん見つかると思います。
- Netflexによるパイプライン構築事例

▲Fragment、Entityといった分け方について解説されている
- ディズニーによるライティング環境をUSDに移行した話

エレキベア
より実践的なパイプライン例については、講演資料などを見るのがよさそうクマね
おわりに

ぷらずも
というわけで今回はPythonによるUSD操作でした!
どうだったかな?

エレキベア
APIやツールも用意されてて、一度環境構築してしまえば扱いやすそうクマね

ぷらずも
あとはPython以外でもC++や HoudiniのSolarisを使ってUSDを編集する方法 もあるね。
今後はSolarisやMaterialXなんかも触ってまとめたいと思います!

ぷらずも
それでは今日はこの辺で!
アデューー!!

エレキベア
クマ~~~~
【OpenUSD】USD入門 その2:PythonでUSDを生成・操作してみる ~完~









