はじめに
最近,USDというフレームワークの存在を知り,その可能性に将来性を感じています。本記事では特に,Python プログラムによる USD データファイルの作成 に焦点を当てて書いていきます。
ビルド
まずは,OpenUSD のビルドから ... ですが,その前に開発環境を整理しておきます。OS は Fedora Linux を使用しています。ビルドに必要な次のもの
- GCC (13.2.1)
- CMake (3.27.7)
- Python (3.11.9)
は事前にインストールされています。
この他に,追加ライブラリ libXt-devel をインストールしておきます。また、PySide6 と PyOpenGL も利用できるようにしておきます。
sudo dnf install libXt-devel
pip install PySide6 PyOpenGL
OpenUSD のソースコードをダウンロードします。私が取得したものはバージョン 24.05 でした。
git clone https://github.com/PixarAnimationStudios/OpenUSD
いよいよビルドです。オプション -j は並列ジョブ数を表します。システムに負荷が掛かりすぎないように 1 を指定しました。
python OpenUSD/build_scripts/build_usd.py /opt/usd -j 1
「Success!」と表示されたらインストール完了です。
Success! To use USD, please ensure that you have:
The following in your PYTHONPATH environment variable:
/opt/usd/lib/python
The following in your PATH environment variable:
/opt/usd/bin
公式ドキュメントに案内されている Boost, IntelTBB, OpenSubdiv については,Python スクリプトによってビルドを行う限りは自動で取得してくれるようです。取得したものはインストールに指定したディレクトリの src/ 以下に置かれています。
環境変数の設定
私はソフトウェア毎の環境設定に Environment Modules(module コマンド)を使用しているので,以下の設定を追加します。
#%Module1.0
set USD_ROOT /opt/usd
prepend-path PYTHONPATH $USD_ROOT/lib/python
prepend-path PATH $USD_ROOT/bin
起動テスト
module load usd
usdview /opt/usd/share/usd/tutorials/convertingLayerFormats/Sphere.usda
無事にインストールできたようです。
Wayland を使用する環境では usdview の起動時に「HgiGL minimum OpenGL requirements not met.」というエラーが出ます。シェルに環境変数 QT_QPA_PLATFORM=xcb を指定してエラーを回避しました(追記: QT_QPA_PLATFORM=xcb を指定してもエラーを回避できなくなってしまったので,代わりに LIBGL_ALWAYS_SOFTWARE=1 を指定するようにしました)。
参考