夏前あたりからそろそろ調べ始めると思いたって既に年末。だってビルドとかメンドクサイし、Visual Studioをそのためだけにインストールしたくないし。

てことで、ビルド済みのパッケージがダウンロードできるところを探して見つけたのが以下2つ。(もっとあると思うけど)

  1. USD at NVIDIA[developer.nvidia.com]
  2. 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" %*

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です