このガイドでは、Maya の XGen デスクリプションを使用して作成されたストランド ベースのグルームを、Unreal Engine へのインポートに対応した Alembic ファイルとしてエクスポートする方法について説明します。 これはグルーム スターター キットと組み合わせて使用することができ、このスターター キットには、基本的な XGen デスクリプション グルーム セットアップによる Maya シーンと、グルーム アセットおよびグルーム バインディングを含む Unreal Engine プロジェクトが含まれています。
グルームのエクスポート
Maya で XGen デスクリプションを使用してグルームを作成します。
[MetaHuman] メニューから Groom Exporter ツールを開きます。
エクスポート元のモデルを設定します。
[Project Directory (プロジェクトディレクトリ)] で、エクスポート元となる Maya プロジェクトの「
workspace.mel」ファイルを選択します。 これにより、エクスポート時に使用されるアセットの適切なパス解決が確保されます。グルーム セットアップを含む Maya ASCII (
.ma) シーン ファイルまたは Maya Binary (.mb) シーン ファイルを [Scene File (シーンファイル)] で選択します。モデルとグルームが同じファイルに含まれている場合は、[Model File (モデルファイル)] を空白のままにできます。 異なるモデル メッシュを選択する必要がある場合は、ここで Maya ASCII (
.ma) ファイルまたは Maya Binary (.mb) ファイルをソースにすることができます。
[Refresh (更新)] をクリックします。
エクスポートする特定のグルーム メッシュに関する情報を提供します。
[Model Mesh (モデルメッシュ)] フィールドで、グルームをビルドするために使用したベース メッシュを選択します。 これにより、エクスポート時の正しいアライメントおよびサーフェス マッピングが確保されます。
[Scene Up Axis (シーンの上方向軸)] の設定を [Y] のままにすると、エクスポートされたデータが Unreal Engine で正しく方向付けられることが確保されます。
[Guides (ガイド)] パネルで、エクスポートする個々のガイド デスクリプションまたは使用可能なすべてのガイドを選択します。
[Interpolated (補間済み)] パネルで、右側にあるドロップダウン メニューから異なる groom_group_ids を割り当てます。 補間されたヘアのデスクリプションを個別に、またはすべて選択できます。
Unreal Engine はグルーム アセットあたり最大 15 個の groom_group_id をサポートしています。
[Output File (出力ファイル)] を使用して、エクスポート先フォルダを選択します。
[Export (エクスポート)] をクリックします。
エクスポートが完了すると、ガイドおよび補間されたヘア数を示す確認ダイアログが表示されます。 エクスポートした Alembic ファイルをグルーム アセットとして Unreal Engine にインポートし、MetaHuman キャラクターで使用できます。
グルームの Alembic スキーマ
Groom Exporter は、Maya の XGen デスクリプションを使用して作成されたストランド ベースのグルームを、Unreal Engine に対応した Alembic ファイルとしてエクスポートします。 Unreal Engine へのインポート プロセスを標準化するため、ヘア データの非公式スキーマが実装されました。
注記:Alembic ファイルにカーブが含まれており、このスキーマに従っていない場合、グルームは Unreal Engine にインポートされますが、カスタム属性は含まれません。
このスキーマに従っている場合、Unreal Engine は主要な属性 (幅、カラーなど) だけではなく、補間されたヘアのシミュレーションに使用されるガイド属性を解釈し、それらを適用できます。 単一の Alembic ファイルでの複数のヘア グループのサポートは、groom_group_id 属性により処理されます。 rootUV 属性もサポートされており、rootUV 属性では、下にあるサーフェス (スキンなど) の UV 座標が取得され、そのアタッチメント領域に基づくグルーム全体での空間的バリエーションが可能になります。
デフォルトでは、エクスポートされた属性には groom_group_id が含まれており、これによりグループのセグメンテーションが定義されます。 明示的に設定されていない場合は、1 つのグループのみが使用されます。 幅データが存在する場合は、groom_width 属性がエクスポートされます。 ガイド カーブが選択されている場合、それらのガイド カーブは groom_guides 属性によりタグ付けされます。 下にあるメッシュ サーフェス全体での空間的バリエーションをサポートするため、groom_rootUV 属性は自動的に含まれます。
詳細については、「Alembic for Grooms の仕様」を参照してください。