夏前あたりからそろそろ調べ始めると思いたって既に年末。だってビルドとかメンドクサイし、Visual Studioをそのためだけにインストールしたくないし。
てことで、ビルド済みのパッケージがダウンロードできるところを探して見つけたのが以下2つ。(もっとあると思うけど)
- USD at NVIDIA[developer.nvidia.com]
- Saturn: Pre-compiled binaries of Universal Scene Description[github.com]
NVIDIA版はMayaのプラグインがビルドされていないので、 今回試したのは2番目のほうです。NVIDIA版のほうがPython2一式と依存モジュールも含まれているので付属のツールusdview等を実行するだけならそっちのほうが簡単だと思います。
2番目のビルド(以下Saturn USD)のほうはPython2.7がインストールされパスが通っている必要があります。つまりPowerShellで「python -V」を実行すると「Python 2.7.17」などと出力される必要があります。
先ず、Satarn USDを展開して出来たフォルダ直下の「usd.cmd」の12行目を確認します、既定では「C:\python27」と書かれていますが、環境に合わせて書き換えます。python.exeのあるパスです。
@echo off pushd %~dp0 set USD_INSTALL_ROOT=%CD% popd setlocal set PATH=%PATH%;%USD_INSTALL_ROOT%\lib set PATH=%PATH%;%USD_INSTALL_ROOT%\..\boost\lib set PATH=%PATH%;%USD_INSTALL_ROOT%\bin set PATH=%PATH%;C:\Users\htaka\AppData\Local\Programs\Python\Python27 set PYTHONPATH=%PYTHONPATH%;%USD_INSTALL_ROOT%\lib\python set PXR_PLUGINPATH_NAME=%PXR_PLUGINPATH_NAME%;%USD_INSTALL_ROOT%\share\usd\plugins set MAYA_MODULE_PATH=%USD_INSTALL_ROOT%\third_party\maya;%MAYA_MODULE_PATH% %* endlocal
次は依存Pythonモジュールのインストール。PowerShellから以下を実行。
python -m pip install PySide PyOpenGL Jinja2
これでusdviewなどの実行に必要な環境がそろいましたが、プレビューするusdファイルが無いとGUIの起動が出来ません。Kitchen Set等をダウンロードしておきます。
でようやくusdviewの実行です。PowerShellより以下を実行。
C:\UserShare\bin\usd\usd.cmd usdview C:\Users\htaka\Desktop\Kitchen_set\Kitchen_set.usd
「usd.cmd」は絶対パスで指定、「usd.cmd」は後に続くusdツールの実行に必要な一時的な環境変数を設定します。次に「usdview」、usdファイルの指定と続きます。usdファイルも絶対パスで指定する必要があります。
動いた?
自前のツールの保存フォーマットにしたり、CGのデータだけでなくちょっとしたデータベースファイルのように使えるなら便利ですね。
おまけ
Pythonの2と3を併用していてランチャーを使用している環境の場合(python.exeへパスを通していない環境)なら、例えば「bin\usdview.cmd」の中身、
@python "%~dp0usdview" %*
を以下のように書き換えても構いません。bin\以下のすべての.cmdファイルの「python」を「py -2」に書き換えます。
@py -2 "%~dp0usdview" %*