開始する前に
Unreal Editor にインポート可能な服装モデル (FBX または USD) が必要です。 このチュートリアルでは、このパスのコンテンツブラウザ内にある以下の techwearOutfit 作業フォルダを使用します。
All/Content/Outfits/techwearOutfit/techwearOutfit (全て/コンテンツ/コスチューム/techwearOutfit/techweaerOutfit)
また、「MetaHuman を作成する」ページで作成した、次のスケルタルメッシュも使用します。
bodyShapeG_CombinedSkelMesh
モデルをすでにインポートしており、エディタ内の他の場所に依存関係がある場合は、依存関係 (スケルトンや親マテリアルといった共有アセットなど) を使用するモデルと同じ作業フォルダに移動させる必要があります。
このチュートリアルでは、クロス アセットを作成するための Unreal Engine プラグインが必要です。 プラグインの設定については、「パラメトリックなアセットの設定」を参照してください。
共有アセットを移動させるには、次の手順を実行します。
コンテンツ ブラウザで共有アセットを作業フォルダまでドラッグし、コンテキスト ダイアログ ボックスで [Move Here (ここに移動)] を選択します。
アセット参照を更新するには、作業フォルダを右クリックし、[Update Redirector References (リダイレクタ参照を更新)] を選択します。
[Move Here] オプションを選択すると、アセット参照が更新されます。 [Copy Here (ここにコピー)] では更新されません。
ワークフロー パスを選択する
LOD の作成処理は、開発のニーズによって異なります。 このチュートリアルでは、次の中からニーズに最も合うワークフロー パスを選択します。
パス A:モデルが FBX で、レンダリング メッシュのみで構成されている場合。 既存の MetaHuman の服装をパラメトリックに変換する場合は、このパスを選択します。
パス B モデルは Marvelous Designer または Clo からエクスポートした USD で、シミュレーションとレンダリング メッシュがあります。
パス C モデルはレンダリング メッシュであり、ユーザーは手動でシミュレーション メッシュを作成しました。
パス A
FBX をインポートする
FBX をコンテンツ ブラウザ内の作業フォルダまでドラッグします。 または、[Import (インポート)] をクリックします。
[Import Content (コンテンツをインポート)] ダイアログで、すべてのオプションをデフォルト設定のまま [Import] をクリックします。 アセットは、スタティックメッシュ (FBX にスケルトンがある場合はスケルタルメッシュ) としてインポートされます。
スタティックメッシュの名前を「
techwear_bodyShapeG_LOD0」とします。
リギングまたはスキニング情報を含む FBX を (スタティックメッシュではなく) スケルタルメッシュとしてインポートすることは可能ですが、データフロー エディタで視覚的な問題が発生するため、推奨されません。
クロス アセットを作成する
クロス アセットを作成するには、コンテンツ ブラウザの作業フォルダ内で右クリックし、[Physics (物理)] > [Cloth Asset (クロス アセット)] を選択します。
新しいクロス アセットの名前を「
CA_techwearOutfit_bodyShapeG」にします。 これにより、新しいデータフロー アセットが作成されます。クロス アセットを右クリックし、[Open in Dataflow Editor (Experimental) (データフロー エディタで開く (実験的機能))] を選択して、アセットをデータフロー エディタで開きます。
LOD が 1 つのみの場合は、次の 4 つを除き、[Graph (グラフ)] タブにあるすべてのノードを削除します。
TransferSkinWeights
Remesh
Remesh_LOD2
ClothAssetTerminal
グラフは次のようになります。
手動で作成した LOD がある場合は、次の 2 つを除き、すべてのノードを削除します。
TransferSkinWeights
ClothAssetTerminal
グラフは次のようになります。
データフロー エディタでメッシュを設定する
データフロー エディタの [Graph] タブで右クリックし、StaticMeshImport を探します。 クリックするかドラッグして、StaticMeshImport ノードをグラフに追加します。
エディタの右側にある [Node Details (ノードの詳細)] パネルで、[Import Sim Mesh (シミュレーション メッシュをインポート)] チェックボックスの選択をオフにします。
[Static Mesh (スタティックメッシュ)] の隣にあるドロップダウン メニューで、モデルのスタティックメッシュを選択します。 このチュートリアルでは、「
techwear_bodyShapeG_LOD0」という名前です。 また、コンテンツ ブラウザでスタティックメッシュを選択し、[Use Selected Asset from the Content Browser (コンテンツ ブラウザから選択したアセットを使用する)] ボタンをクリックすることもできます。[Graph] タブで、StaticMeshImport ノードの Collection ピンを TransferSkinWeights ノードの Collection ピンに接続します。
TransferSkinWeights ノードを選択した状態で、[Node Details] パネルに戻ります。
[Target Mesh(es) (ターゲット メッシュ)] のドロップダウンで [Render Mesh (レンダリング メッシュ)] を選択します。
[Render Mesh Transfer Source (メッシュ転送ソースのレンダリング)] ドロップダウンで、[Skeletal Mesh (スケルタルメッシュ)] を選択します。
[Skeletal Mesh] で、「MetaHuman を作成する」で作成した
bodyShapeG_CombinedSkelMeshを選択します。[Transfer Method (転送方式)] ドロップダウンで、[Closest Point on Surface (サーフェス上の最も近いポイント)] を選択します。
[Graph] タブで、TransferSkinWeights ノードの Collection (出力) ピンを ClothAssetTerminal ノードの Collection Lods[0] ピンに接続します。
LODを追加または生成しない場合は、ClothAssetTerminal を右クリックし、[Remove Option Pin (オプション ピンを削除)] を選択して、残りのピンを削除します (したがって、追加の LOD は不要になります)。 次は、「コスチューム アセットを作成する」に進みます。
手動で作成した LOD や自動で生成された LOD がある場合は、「パス A:LOD を設定する」に進みます。
パス A:LOD を設定する
このチュートリアルでは、手動で作成した LOD と自動で生成された LOD の両方について説明します。
手動で作成した LOD
[Graph (グラフ)] タブで、ClothAssetTerminal ノードを右クリックし、[Add Pin (ピンを追加)] を選択して、4 つ目のピンを追加します。
StaticMeshImport ノードと TransferSkinWeights ノードを 3 個ずつ複製します。 昇順に、それぞれ新しい TransferSkinWeights ノードの [Nodes Details] パネルで、その LOD に関連付けられている新しいスタティックメッシュとスケルタルメッシュを選択します。
MetaHuman は 4 つのボディ LOD (0、1、2、3) を想定します。
自動で再生された LOD
[Graph (グラフ)] タブで 右クリックして[Remesh (再メッシュ)] を検索します Remesh ノードをグラフにドラッグします。
TransferSkinWeights ノードの Collection (出力) ピンを Remesh ノードの Collection (入力) ピンに接続します。 TransferSkinWeights を ClothAssetTerminal から切断しないでください。
Remesh ノードを選択した状態で、詳細パネルで、[Remesh Sim (シミュレーションを再メッシュ)] チェックボックスのチェックを外します。 [Remesh Render (再メッシュレンダリング)]をオンにします
Remesh ノードの設定で行った変更は、コンストラクション ビューポートを有効にすると視覚化できます。 データフロー エディタの [Construction Viewport (コンストラクション ビューポート)] タブで、右上隅にあるドロップダウンをクリックして [Render (レンダリング)] を選択します。
また、コンストラクション ビューポートの表示を [Lit (ライティングあり)] から [Wireframe (ワイヤーフレーム)] などの他のいろいろなオプションに変更することもできます。
コンストラクション ビューポートにアセットが表示されない場合は、必ず [Render] が選択されているかどうかを確認してください。 このオプションは、意図せず選択が解除されることがあります。
Remesh ノードの Collection (出力) ピンを ClothAssetTerminal に接続します。
各 LOD に対して、ステップ 1、2、3、および 5 を繰り返します。 このチュートリアルでは、 [Node Details (ノード詳細)] パネルで各 Remesh ノードの [Target Percent Render (ターゲット割合レンダリング)] を調整します。 実際には、これらは必要に応じて調整できます。
LOD[1] の Remesh ノード:[Target Percent Render] を「50」に設定します。
LOD[2] の Remesh ノード:[Target Percent Render] を「30」に設定します。
LOD[3] の Remesh ノード:[Target Percent Render] を「10」に設定します。
「コスチューム アセットを作成する」に進みます。
パス B
クロス アセットを作成する
クロス アセットを作成するには、コンテンツ ブラウザの作業フォルダ内で右クリックし、[Physics (物理)] > [Cloth Asset (クロス アセット)] を選択します。
新しいクロス アセットの名前を「
CA_techwearOutfit_bodyShapeG」にします。 これにより、新しいデータフロー アセットが作成されます。CA_techwearOutfit_bodyShapeGを右クリックして [Open in Dataflow Editor (Experimental)] を選択し、アセットをデータフロー エディタで開きます。[Graph] パネルで、次のノード以外、すべて削除します。
USDimport
TransferSkinWeights
Remesh
Remesh_LOD2
ClothAssetTerminal
グラフは次のようになります。
データフロー エディタでメッシュを設定する
[Graph] パネルで USDImport ノードを選択します。 詳細パネル[Node Details (ノード詳細)] パネルで、[USD File (USD ファイル)] の横にある 3 つの点をクリックして USD をインポートします。
インポートされると、アセットはデータフロー エディタのコンストラクション ビューポートに表示されます。
コンテンツ ブラウザの作業フォルダに、USD ファイル、マテリアル、スタティック メッシュ、およびテクスチャを含む新しいフォルダが表示されます。
USDImport ノードの Collection ピンを TransferSkinWeights ノードの Collection (入力) ピンに接続します。
TransferSkinWeights ノードを選択します。 [Node Details] パネルの [Skeletal Mesh] で、
bodyShapeG_CombinedSkelMeshを選択します。 これは、「MetaHuman を作成する」で作成したものです。[Graph] パネルで、TransferSkinWeights ノードの Collection (出力) ピンを ClothAssetTerminal ノードの Collection LOD[0] ピンに接続します。
グラフは次のようになります。
これ以上 LOD を追加したり、生成したりしたくない場合は、ClothAssetTerminal を右クリックして Remove Option Pin を選択し、残りのピンを削除します (これにより、これ以上 LOD が追加されないことを示します)。 次は、「コスチューム アセットを作成する」に進みます。
さらに LOD を生成する必要がある場合は、「パス B:LOD を設定する」に進みます。
パス B:LOD を設定する
[Graph(グラフ)]タブを右クリックして[Remesh (再メッシュ)] を検索します Remesh ノードをグラフまでドラッグします。
[Graph (グラフ)] タブで、TransferSkinWeights ノードの Collection (出力) ピンを Remesh ノードの Collection (入力) ピンに接続します。 TransferSkinWeights を ClothAssetTerminal から切断しないでください。
Remesh ノードの設定で行った変更は、コンストラクション ビューポートを有効にすると視覚化できます。 データフロー エディタの [Construction Viewport (コンストラクション ビューポート)] タブで、右上隅にあるドロップダウンをクリックして [Render (レンダリング)] を選択します。
また、コンストラクション ビューポートの表示を [Lit (ライティングあり)] から [Wireframe (ワイヤーフレーム)] などの他のいろいろなオプションに変更することもできます。
コンストラクション ビューポートにアセットが表示されない場合は、必ず [Render] が選択されているかどうかを確認してください。 このオプションは、意図せず選択が解除されることがあります。
Remesh ノードの Collection (出力) ピンを ClothAssetTerminal に接続します。
各 LOD で手順 1、2、4 を繰り返します。 このチュートリアルでは、[Node Details] パネルで各 Remesh ノードの [Target Percent Render] を調整します。
LOD[1] の Remesh ノード:[Target Percent Render] を「50」に設定します。
LOD[2] の Remesh ノード:[Target Percent Render] を「30」に設定します。
LOD[3] の Remesh ノード:[Target Percent Render] を「10」に設定します。
「コスチューム アセットを作成する」に進みます。
パス C
レンダリング メッシュとシミュレーション メッシュをインポートする
シミュレーションおよびレンダリング メッシュをコンテンツ ブラウザの作業フォルダにドラッグします。 または、[Import (インポート)] をクリックします。
[Import Content] ダイアログで、すべてのオプションをデフォルト設定のまま [Import] をクリックします。 スタティックメッシュの名前を「
techwear_bodyShapeG_LOD0」とします。
クロス アセットを作成する
クロス アセットを作成するには、コンテンツ ブラウザの作業フォルダ内で右クリックし、[Physics (物理)] > [Cloth Asset (クロス アセット)] を選択します。
新しいクロス アセットの名前を「
CA_techwearOutfit_bodyShapeG」にします。 これにより、新しいデータフロー アセットが作成されます。CA_techwearOutfit_bodyShapeGを右クリックして [Open in Dataflow Editor (Experimental)] を選択し、アセットをデータフロー エディタで開きます。LOD が 1 つのみの場合は、次の 4 つを除き、[Graph (グラフ)] タブにあるすべてのノードを削除します。
TransferSkinWeights
Remesh
Remesh_LOD2
ClothAssetTerminal
グラフは次のようになります。
手動で作成した LOD がある場合は、次の 2 つを除き、すべてのノードを削除します。
TransferSkinWeights
ClothAssetTerminal
グラフは次のようになります。
データフロー エディタでメッシュを設定します
データフロー エディタの [Graph] タブで右クリックし、StaticMeshImport を探します。 クリックするかドラッグしてグラフに追加します。
エディタの右側にある [Node Details (ノードの詳細)] パネルで、[Import Sim Mesh] チェックボックスがオンに、[Import Render Mesh (レンダリング メッシュをインポート)] チェックボックスがオフになっていることを確認します。
[Static Mesh] の隣にあるドロップダウン メニューで、モデルのシミュレーション メッシュを選択します。 また、コンテンツ ブラウザでスタティックメッシュを選択し、[Use Selected Asset from the Content Browser] ボタンをクリックすることもできます。
グラフで、2 番目の StaticMeshImport ノードを作成します。 [Node Details] パネルで、[Import Sim Mesh] のチェックボックスをオンにして、[Import Render Mesh」 のチェックボックスをオフにします。
[Static Mesh] の隣にあるドロップダウン メニューで、モデルのレンダリング メッシュを選択します。
グラフで、MergeClothCollections ノードを作成します。 両方の StaticMeshImport ノードの Collection ピンを MergeClothCollections ノードの Collection (入力) ピンに接続します。
MergeClothCollections ノードの Collection (出力) ピンを TransferSkinWeights ノードの Collection (入力) ピンに接続します。
TransferSkinWeights ノードを選択します。 [Node Details] パネルの [Skeletal Mesh] で、
bodyShapeG_CombinedSkelMeshを選択します。[Graph] パネルで、TransferSkinWeights ノードの Collection (出力) ピンを ClothAssetTerminal ノードの Collection LOD[0] ピンに接続します。
グラフは次のようになります。
これ以上 LOD を追加したり、生成したりしたくない場合は、ClothAssetTerminal を右クリックして Remove Option Pin を選択し、残りのピンを削除します (これにより、これ以上 LOD が追加されないことを示します)。 次は、「コスチューム アセットを作成する」に進みます。
さらに LOD を生成する必要がある場合は、「パス C:LOD を設定する」に進みます。
パス C:LOD を設定する
このチュートリアルでは、手動で作成した LOD と自動で生成された LOD の両方について説明します。
自動で再生された LOD
[Graph] タブで右クリックし、「Remesh」を探します。 Remesh ノードをグラフまでドラッグします。
TransferSkinWeights ノードの Collection (出力) ピンを Remesh ノードの Collection (入力) ピンに接続します。 TransferSkinWeights を ClothAssetTerminal から切断しないでください。
Remesh ノードの設定で行った変更は、コンストラクション ビューポートを有効にすると視覚化できます。 データフロー エディタの [Construction Viewport (コンストラクション ビューポート)] タブで、右上隅にあるドロップダウンをクリックして [Render (レンダリング)] を選択します。
また、コンストラクション ビューポートの表示を [Lit (ライティングあり)] から [Wireframe (ワイヤーフレーム)] などの他のいろいろなオプションに変更することもできます。
コンストラクション ビューポートにアセットが表示されない場合は、必ず [Render] が選択されているかどうかを確認してください。 このオプションは、意図せず選択が解除されることがあります。
Remesh ノードの Collection (出力) ピンを ClothAssetTerminal に接続します。
各 LOD で手順 1、2、4 を繰り返します。 このチュートリアルでは、[Node Details] パネルで各 Remesh ノードの [Target Percent Render (レンダリングの目標パーセンテージ)] を調整します。
LOD[1] の Remesh ノード:[Target Percent Render] を「50」に設定します。
LOD[2] の Remesh ノード:[Target Percent Render] を「30」に設定します。
LOD[3] の Remesh ノード:[Target Percent Render] を「10」に設定します。
手動で作成した LOD
[Graph] タブで、ClothAssetTerminal ノードを右クリックして [Add Option Pin] を選択し、4 番目のピンを追加します。
StaticMeshImport ノードと TransferSkinWeights ノードを 3 個ずつ複製します。 昇順に、それぞれ新しい TransferSkinWeights ノードの [Nodes Details] パネルで、その LOD に関連付けられている新しいスタティックメッシュとスケルタルメッシュを選択します。
MetaHuman は 4 つのボディ LOD (0、1、2、3) を想定します。
「コスチューム アセットを作成する」に進みます。
コスチューム アセットを作成する
コンテンツ ブラウザで「techwearOutfit」フォルダに移動します。 右クリックして [Physics] > [Outfit Asset (コスチューム アセット)] を選択し、コスチューム アセットを作成します。
アセットの名前を「
OA_techwearOutfit」にします。コスチューム アセットの名前は、それが含まれているフォルダの名前と一致している必要があります。
[Select an Outfit Asset Template (コスチューム アセット テンプレートを選択)] ダイアログで、[Resizable Outfit (サイズ調整可能コスチューム)] を選択します。
(任意) これにより、
DF_techwearOutfitが作成されます。 FAB 用のパッケージを作成する場合、これをクリックして作業フォルダまでドラッグし、コンテキスト ポップアップで [Move Here] を選択します。コスチューム アセットをダブルクリックし、データフロー エディタを開きます。
評価をスピードアップするには、データフロー エディタで [Evaluate Dataflow Graph (データフロー グラフを評価)] の隣にある [...] をクリックし、[Manual Graph Evaluation (手動グラフ評価)] を選択します。
[Dataflow Members (データフローのメンバー)] パネルで、[Sized Outfit Source (サイズを合わせたコスチューム ソース)] チェックボックスをオンにします。 プラス (+) アイコンをクリックし、ボディに対応する各クロス アセットのインデックスを作成します。 この例では、2 つ作成されています。
[Index (インデックス)]の横にあるドロップダウンを展開します[Size Name (サイズ名)] に服装 アセットの名前を入力します。 この例では「bodyShapeG」です。
[Index (インデックス)] の隣にあるドロップダウンを展開し、クロスアセットを ソースアセット に割り当てます。 この例では、クロス アセットは
CA_techwear_bodyShapeGです。 [Source Body Parts (ソース ボディ パーツ)]でスケルタルメッシュを割り当てます この例では、スケルタルメッシュはbodyShapeG_combinedSkelMeshです。ボディとクロスアセットはペアにする必要があります。 bodyShapeG 用に服装を作成した場合は、そのクロスアセットが同じインデックスに割り当てられる必要があります。
(任意) [Num Resizing Interpolation Points (サイズ変更補間ポイント数)] は、サイズ変更の処理でサンプリングされるボディ上のポイント数を指します。 使用するポイントが多いほど、衣服がボディの形状により正確にフィットしますが、処理速度に影響を及ぼします。 推奨される値は 1000 ~ 2500 ですが、数値は自由に設定することができます。
このチュートリアルでは、デフォルト値の「1500」のままにしておきます。
evaluate (評価)データフロー エディタで、[Evaluate Dataflow Graph (データフロー グラフを評価)] をクリックして、[Automatic Graph Evaluation (自動グラフ評価)] をオンに戻します。進捗バーは評価が成功したことを示します。これには数分かかる場合があります。
コスチューム アセットが依存関係を持っているアセットのいずれかに変更を行った場合は、[Evaluate Dataflow Graph] をクリックしてコスチューム アセットを再評価する必要があります。
次のステップ
次のステップでは、コスチューム アセットを MetaHuman Creator にアップロードします。