「MayaでUSDを使う」と言うとき、入っているのは1つのプラグインではない。検証機の Maya 2025 では、USD・MayaUSD_LIB・MayaUSD・MAYAHYDRA の4つが1つの .mod の中で宣言されていた。しかもバージョン番号が2系統あるので、情報を探すときに食い違いが起きる。マテリアルを他ツールと行き来させるときの共通語は MaterialX だ。
MayaのUSD対応は1つのプラグインではない
1つの登録ファイルが4つのモジュールを別々のバージョンで宣言している(宣言の話であって、実際にロードされているかは Maya 側で見る)。
| モジュール名 | 宣言されていた版 | 担当 |
|---|---|---|
USD |
0.23.11 | USD本体(Pixar由来のライブラリ) |
MayaUSD_LIB |
0.32.0 | Maya側の実装ライブラリ |
MayaUSD |
0.32.0 | Mayaに載るプラグイン本体 |
MAYAHYDRA |
0.6.3 | Hydraビューポート |
MayaUSD は Autodesk の説明では、読み込み・書き出しを経由せずに USD ステージをそのままビューポートへ載せて編集できるプラグインとされている。Outliner やアトリビュートエディタにも統合される。
「USDのバージョン」と「MayaUSDのバージョン」は別物
同じ環境なのに 0.23.11 と 0.32.0 が並ぶ。片方だけ見ると話が噛み合わない。
登録ファイルの環境変数を見ると MAYA_USD_VERSION=0.23.11 と MAYAUSD_VERSION=0.32.0 が別々に定義されていた。前者は同梱されている USD 本体の版、後者はAutodesk が作っているプラグインの版を指す。Autodesk 側の公開情報でも、Maya 2025 系の MayaUSD は USD 23.11 でビルドされていると説明されている。
不具合を調べるときはどちらの番号かを確かめる。「USD 23.11 の問題」と「MayaUSD 0.32.0 の問題」は別のリポジトリ・別の変更履歴で追われている。片方の番号で検索して情報が出てこないときは、もう片方で当たり直すと見つかることがある。
自分の環境で確認するには?
Maya を起動しなくても、共有モジュールのフォルダにある mayausd.mod を開けば4つの版がまとめて書いてある。
+ USD 0.23.11 ...\MayaUSD\Maya2025\0.32.0\mayausd/USD
MAYA_USD_VERSION=0.23.11
+ MayaUSD_LIB 0.32.0 ...\mayausd/MayaUSD
MAYAUSD_VERSION=0.32.0
+ MAYAHYDRA 0.6.3 ...\mayausd/MayaUSD
同じフォルダには bifrost.mod・lookdevx.mod・mtoa.mod(Arnold)・vnn.mod、そして Substance のプラグインを入れていれば substance2.mod も並ぶ。Maya 向けに何がインストールされているかの一覧として使える(有効・無効やパス不整合までは、この一覧では分からない)(Substanceプラグインの導入確認)。
マテリアルの共通語はMaterialX
USD・LookdevX・Arnold の登録ファイルに、そろって MaterialX の検索パスが書かれている。
| 登録ファイル | MaterialX関連の記述 |
|---|---|
mayausd.mod |
PXR_MTLX_STDLIB_SEARCH_PATHS・MATERIALX_SEARCH_PATH |
lookdevx.mod |
上記に加え ARNOLD_MATERIALX_NODE_DEFINITIONS |
同梱の定義ファイルを開くと <materialx version="1.38"> と書かれていた。さらに MayaUSD/libraries/adsk/maya/ の下には Autodesk 独自の .mtlx(lookdevKit など)も置かれている。設定の並びを見るかぎり、USDでシーンを渡し、マテリアルはMaterialXで解決するという組み立てだ。当研究所は実際に書き出して読み戻す往復を試していないので、これは構成から読み取れる設計であって、再現の確認ではない。
Substance 3D Painter 12.1 も、OpenPBR のマテリアルをUSD形式で書き出せるようになっている。テクスチャ画像を個別に渡すのではなく、マテリアルの定義ごと運ぶ方向に揃ってきた(OpenPBRが既定になって変わること)。
LookdevXとMayaHydraは何をする?
LookdevX はマテリアルを組む場所、MayaHydra は描画する場所だ。
検証機の lookdevx.mod は LookdevX 2025.1.7.0 を宣言していた。特徴的なのは、同じ内容のブロックが en_US・zh_CN・ja_JP の3ロケール分あることで、日本語のリソースが同梱されている。
MayaHydra 側は Autodesk の説明で、MayaUSD が MayaUsdProxyShape ノードを通じてUSDのデータと編集機能を担い、MayaHydra がその描画を受け持つという分担になっている。ビューポートのレンダリング基盤を差し替えられるようにするのが狙いだ。
実機で確認した範囲:4モジュールの名前と宣言バージョン(USD 0.23.11/MayaUSD_LIB 0.32.0/MayaUSD 0.32.0/MAYAHYDRA 0.6.3)、環境変数 MAYA_USD_VERSION・MAYAUSD_VERSION、MaterialX 関連の検索パス指定、<materialx version="1.38"> の記載、libraries/adsk/maya/ 配下の .mtlx の存在、LookdevX 2025.1.7.0 と3ロケール分の宣言。いずれも Maya 2025 の共有モジュールフォルダと MayaUSD のインストール先を直接読んだもの。あわせて、ユーザー側モジュールフォルダの不在・単体 MaterialX の不在・Maya.env が0バイトであることも確認した。
Maya を起動しての操作確認は行っていないので、USDステージの読み込み・LookdevXの画面・Hydraでの描画結果は検証していない。各モジュールの役割の説明は Autodesk の公開情報による。
よくある質問
MayaUSDのバージョンはどこで見ますか
mayausd.mod に書かれています。検証機では MAYAUSD_VERSION=0.32.0、同梱USDが MAYA_USD_VERSION=0.23.11 と別々に定義されていました。0.23.11 と 0.32.0 のどちらが「USDのバージョン」ですか
MaterialXは別途インストールが必要ですか
Maya.env が0バイト、の3点も確認しています。この範囲では追加導入の形跡はありませんでした。Hydraビューポートは自動で有効になりますか
まとめ:番号を見る前に「どの番号か」を見る
- MayaのUSD対応は4モジュール(USD/MayaUSD_LIB/MayaUSD/MAYAHYDRA)
- USD本体とMayaUSDでバージョン番号が別。検証機は 0.23.11 と 0.32.0
- 確認は
mayausd.modを開くだけ。Mayaの起動は要らない - マテリアルの共通語は MaterialX(同梱定義は 1.38)
- LookdevXは組む側、MayaHydraは描く側。LookdevXには日本語リソースが同梱
Substance側からMayaへ素材を持ち込むルートは別記事にまとめてある(.sbsarを直接読み込むプラグイン)。色が合わない問題は色管理の系統なので、そちらも別記事を参照してほしい(Mayaに戻すと暗くなる問題)。

コメント