Help us understand the problem. What is going on with this article?

Pixar USD の Windows ビルド方法(2017/9 版)

More than 1 year has passed since last update.

Pixar USD https://github.com/PixarAnimationStudios/USD
は着実にバージョンアップを続け、SIGGRAPH 2017 の時点で 0.8.0 となりました。

今では Linux, Windows, OSX ともに 一年前 より飛躍的にビルドが楽になっています。

この記事では 0.8.0 を Windows でビルドするための方法を紹介します。
CEDEC2017 での PixarUSD の解説は、こちらのスライドをご覧ください
ピクサー USD 入門 新たなコンテンツパイプラインを構築する

準備

以下のソフトウェアを事前にインストールしておく必要があります。

必須ではありませんが、Maya プラグインをビルドするためには Maya が、usdview で embree レンダリングをするためには embree のインストールが必要です。Maya は現時点では 2017 までサポートされています。2018 でも namespace 部分の微修正でビルドできます。

embree は https://embree.github.io/downloads.html こちらから。

nasm, python, cmake などにはパスを通しておいてください。一般的には以下の通り。
embree は bin ディレクトリにパスを通しておいてください(DLLを読みに行きます)

標準的なインストール先
CMake C:\Program Files\CMake\bin
NASM C:\Program Files\NASM
Python C:\Python27
Pip, Pyside C:\Python27\Scripts
Embree (任意) C:\Program Files\Intel\Embree v2.16.5 x64\bin

コマンドプロンプトで pip install pyside して、
C:\Python27\Scripts に pyside-uic.exe があることを確認してください。

ソース取得

適当な場所に、USD のソースをクローンしてきます。ここでは C:\dev\usdにします。 ちなみにビルド先は別の場所になります。

git clone https://github.com/PixarAnimationStudios/USD C:\dev\usd

ビルド

VisualStudio の、x64 Native Tools Command Prompt を開きます。
image.png

クローンした場所で、次のスクリプトをコマンドプロンプトから実行すると、依存ライブラリのダウンロードとビルドが始まります。プロキシ環境下ではうまくいかないこともありますので、ネットワーク管理者と相談してください。引数はインストール先(クローンした場所とは別にする)です。ここでは C:\usd としました。

cd c:\dev
python usd\build_scripts\build_usd.py "C:\usd"

この時にいくつかフラグを指定するとビルド構成を変更できます。-h でヘルプがでます。

C:\dev>python usd\build_scripts\build_usd.py
usage: build_usd.py [-h] [-n] [-v | -q] [--build BUILD]
                    [--generator GENERATOR]
                    [--build-shared | --build-monolithic] [--src SRC]
                    [--inst INST] [--force FORCE_BUILD] [--force-all]
                    [--tests | --no-tests] [--docs | --no-docs]
                    [--imaging | --usd-imaging | --no-imaging]
                    [--ptex | --no-ptex] [--embree | --no-embree]
                    [--embree-location EMBREE_LOCATION]
                    [--alembic | --no-alembic] [--hdf5 | --no-hdf5]
                    [--maya | --no-maya] [--maya-location MAYA_LOCATION]
                    [--katana | --no-katana]
                    [--katana-api-location KATANA_API_LOCATION]
                    [--houdini | --no-houdini]
                    [--houdini-location HOUDINI_LOCATION]
                    install_dir

たとえば alembic と maya のプラグインをビルドして、embree サポートも入れる場合、次のようにします。

python usd\build_scripts\build_usd.py --alembic
 --embree --embree-location="C:\Program Files\Intel\Embree v2.16.5 x64\bin" 
 --maya --maya-location="C:\Program Files\Autodesk\Maya2017"

ホストの性能によりますが、大体15~30分くらいでビルドが終わると思います。

環境設定

usd のツールをコマンドプロンプトから使うには、いくつか環境変数を設定する必要があります。ビルドの際に指定したディレクトリに合わせますが、c:\usd の場合、次のようになります。

環境変数
PATH c:\usd\bin, c:\usd\lib を追加
PYTHONPATH C:\usd\lib\python を追加

また Maya プラグインの場合、次の変数も必要です。

環境変数
MAYA_PLUG_IN_PATH c:\usd\third_party\maya\plugin を追加
MAYA_SCRIPT_PATH c:\usd\third_party\maya\share\usd\plugins\usdMaya\resources を追加
XBMLANGPATH C:\usd\third_party\maya\share\usd\plugins\usdMaya\resources を追加
PATH c:\usd\third_party\maya\lib を追加

詳しくはこちらもご覧ください
https://graphics.pixar.com/usd/docs/Maya-USD-Plugins.html

実行

usdcat で usd ファイルの中身を表示できます
image.png

これができたら、 usdview で同じ usd ファイルを開いてみましょう
image.png

無事表示されれば、成功です。

takahito-tejima
ゲームと映画業界を行き来するCGプログラマです。
http://www.gamilus.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした