Maya での USD 対応についてこれまで大きな勘違いをしていたので、改めてまとめます。ここでは USD のアーキテクチャというより、実際の実装として何ができるのかに注目をします。
PIXAR 標準の USD プラグインでは、様々な方法で USD シーンファイルを Maya に読み込むことができます。
・Import(Open)
・Reference
・Scene Assembly
上の二つの方法で読み込んだ場合、結局は Maya のシーンデータとして扱うだけで、幾ら .usd ファイル内でアセットが分割して管理されていても Maya 上では巨大な一つのファイルを扱っているのと変わりがありません。そのため、Maya では .usd ファイルの入出力はできるけれども一番美味しいところは実質的に使えないのかなと思って調査を打ち切ってしまいました。
つまり、シーンファイルとして読めて必要な情報は再現できるけれども、その情報を保持したまま出力することができないという勘違いをしてしまったわけです。
最も重要だったのは Scene Assembly として読み込むことができることでした。Scene Assembly を用いることで、必要のない時はアセットを一つのノードとして扱うことができ、内部を編集したい場合は展開して操作することができます。
これを用いることで複数の .usd ファイルを読み込んで複雑なアセットを構築し、その構造を維持したまま .usd ファイルとして出力することができます。
少なくとも、この点に関しては Maya+USD で実現できるということになります。そのため、Maya で USD の恩恵を受けることができないというのは誤りです。非常に大きな恩恵を受けることが出来そうです。
Maya+USD を使ってトータルでどのようなことができるかは “05 USD at ALA – Pixar USD Maya plugin” を見るのが早そうです。こちらは Animal Logic の AL_USDMaya と luma pictures の Outliner(usd-qt?) を使用したフローの解説になるため今回使用した純正の実装とはまた別ですが、Maya 上でこんなことができるんだという参考になるかとおもいます。
※こちらは PIXAR 純正の USD Maya プラグインを使用した例でした。。。AL_USDMaya と outliner を使用した例は AL_USDMaya Layout and Animation Workflow でした。訂正記事中で訂正をおこなうという失態、、、、もうダメだ。。。(´・ω・`)
こんにちは。ブログ記事は毎回勉強になります。ありがとうございます。
ところでPIXARのUSDプラグインはARKitなどで使える.usdzも出力できますか?
こんにちは。保存時にファイルの拡張子で .usdz とすれば保存できます。
あと、ドキュメントを見ると -compatibility オプションがあって、これで ARKit 互換形式で出力されるようです。Maya の Export ダイアログでも Compatilibity Profile で指定できます。
ただ、アサインされているマテリアルに紐づいているテクスチャなどは一緒に含まれないみたいですね。これは、もしかしたら PIXAR USD プラグインが Renderman 関連のシェーダにしか対応していないからかもしれないですが。
ありがとうございます。そうですか、テクスチャは含まれないのですか…。
ちょっとプラグイン入れてみて使い勝手等試してみます!
USDZ化したりするのはMayaとは別に後からやるほうがいいかもしれないですね。もしくは、PIXAR以外の実装を試すかでしょうか。