Maya 2022にはUSD及びUSDZファイルを出力できるプラグインが付属しています。これを使ってUSDファイルやUSDZファイルを作ってみたのですが、何度かトライ&エラーを繰り返してテクスチャー付きでUSDファイルやUSDZファイルを出力できるようになりました。
その設定や手順についてまとめました。
目次
動作環境
本記事作成時に動作を確認した動作環境は以下の通りです。
- Windows 11 Pro 21H2
- Maya 2022.3 Windows版
テクスチャーのファイルパス
USD/USDZファイルに書き出すときは、テクスチャーに使用するファイルのファイルパスに注意が必要です。ファイルパスの中に、ひらがな、カタカナ、漢字、全角文字などが入っているとエラーになります。スクリプトエディタのヒストリーに次のようなエラーが出力されます。
// エラー: Invalid asset path string -- character 27: invalid UTF-8 code point byte 0x83
半角英数文字以外が含まれないようにします。上位フォルダなどに入っている場合もダメなので、ファイルを置く場所に注意しましょう。
Usd Preview Surface を使用する
USD/USDZファイルに書き出すモデルのマテリアルは、Usd Preview Surface を使用します。ArnoldのaiStandard Surfaceなどで設定したマテリアルは出力されません。
Usd Preview Surface を使うとArnoldでレンダリングできなくなります。レンダリングは「Maya ハードウェア」などを使う必要があります。
Subdivision方法をNoneにする
USD/USDZファイルを書き出すには、「ファイルの種類」から「USD Export」に変更します。USD Exportのオプションが表示されたら、「Subdivision Method」を「None (Polygonal Mesh)」に変更します。「ファイルタイプ特有のオプション」の「Geometry」の中にあります。
デフォルト設定の「Catmull-Clark」を使うと、形が全体的に崩れます。次のスクリーンキャプチャはUSDZで書き出したときに、上が「Catmull-Clark」、下が「None (Polygonal Mesh)」を選択して書き出したものです。
拡張子をusdz
にする
書き出しダイアログで書き出すときに、ファイル名の拡張子を usdz
にするとテクスチャーを埋め込んだ USDZファイルが出力されます。拡張子を入力しないときは、テクスチャーファイルへの参照情報が書き込まれたUSDファイルとなります。
トラブルシューティング : USDファイルのファイルパスは絶対パスになる
Usd Preview Surfaceの設定でテクスチャーファイルへのパスを相対パスにすると、USDファイル書き出し時にエラーになってしまい、テクスチャーの情報が書き出されません。絶対パスを設定する必要があります。複数のマシンで持ち回るときに、各ユーザーのホームディレクトリ以下にファイルを置くと上手く運用できないと思います。
トラブルシューティング : どのファイルが問題かを探す
どのファイルに問題があるか見つけるには、書き出しオプションで、「.usd File Format」を「ASCII」に変更して書き出します。「ファイルタイプ特有のオプション」の「Output」の中にあります。
書き出されたファイルをテキストエディタで開き、asset input:file = @@
で検索すると書き出されなかったマテリアリが見つかります。正しく書き出されると、@
と@
の間にファイルパスが書き込まれます。
投稿者プロフィール

最新の投稿
HowTo2022.02.13Ubuntu Server のシステム更新
書籍執筆2022.02.10ARKitの物理シミュレーション
書籍執筆2022.02.04ARKitでコリジョンとアニメーション
HowTo2022.01.30MayaからUSD, USDZを書き出す方法