Daz To Unrealからの服の着用システム

DAZ Studio→UE5への移行で服は別でインポートして、ブループリントで着用させます。

フィギュアのエクスポート→インポートのやり方は昨日の記事にあります。
DAZ StudioのGenesis 9フィギュアをUnreal Engineにインポート

DAZ: 裸のフィギュアをエクスポート

DAZ Studioを起動し、Genesis 9のフィギュアを全裸のままDaz to UnrealでUE5にインポートします。

DAZ: 服のエクスポート

Genesis 9に服を着せます。今回はBF Pantsを使いました。

Parameters > BF Pants >
Fit to ModeをAuto Follow Transformsにします。
Enable SmoothingはOn。

SceneでBF Pantsのみを選択した状態で、
File > Send To > Daz to Unreal

Asset NameをBF_Pantsにしました。
モーフを入れたいのでExport Morphsにチェックを入れて、Choose Morphsをクリック。
Morph Groupsの中からBF Pantsを選択し、中央の欄に表示されたAdj Belt Position、Adj Crotch PT、Adj Side Shape、Adj Thigh PT、Adj Wrinkle HDを選択して下のAdd For Expotをクリック。Morphs to Exportに移動しました。

Acceptをクリック。

Morphs Settings > Lock Bone Translation for Morphsにもチェックを入れておきます。
Advanced Settingsにチェックを入れて、Show FBX Dialogにチェックを入れる。

Acceptをクリック。

FBX Export Optionsはデフォルトのままで良いです。
自動でModifiers: Include Morphsにチェックが入っているかと思います。
Acceptをクリック。

UE5にインポートされたBF_Pants  (スケルタルメッシュ)を開き、モーフターゲットに項目が入っているのを確認。

UE5: プレイヤーブループリントを編集

プレイヤーブループリントに裸のスケルタルメッシュを反映させた後、裸のスケルタルメッシュの子に服のスケルタルメッシュを追加する。

服のスケルタルメッシュの詳細、
メッシュ > Skeletal Mesh Assetで今回はBF_Pantsを選択。
クロージング > Clothing SimulationをClothingSimulationFactoryNvにする
コリジョン > コリジョンプリセットをPhysicsActorにする。
最適化 > 詳細設定 > Visibility Based Anim Tick OptionをAlways Tick Poseにする。

関数を追加。名前をSetMasterPoseComponentにします。

ノードを組む

Set Leader Pose Component (裸のスケルタルメッシュ)ターゲットはコンポーネントからCloth_PantsをGetして繋ぐ。
ブランチConditionSet Leader Pose Component (裸のスケルタルメッシュ)ターゲットSet Master Pose Componentに繋ぐ。
Set Visibility (裸のスケルタルメッシュ)ブランチがFalseだった場合、服の表示を消す処理になっています。

コンストラクションスクリプトの編集

ノードを組む

変数を追加します。名前はVPantsで型はBoolean。VはVisibilityです。コンパイルしてデフォルト値はチェックを入れておきます。チェックが入っていないと服が表示されません。
Set Master Pose Componentの後に続けてSet Master Pose Componentを配置し、上着や靴も着用させられます。

ビューポートで位置調整をしてからテストプレイ。

体型、アニメーション、衣装の兼ね合い具合で肌が衣装を突き抜ける現象はあるかと思います。モーフを使えば緩和できます。
モーフはイベントグラフにノードを追加します。

ノードを組む

イベント BeginPlayから続くノードに繋げる。
Set Morph Targetを配置して、Morph Target Nameにモーフ名を記入、Valueに値を入力。どちらもスケルタルメッシュのモーフターゲットで確認できます。

コメント

  1. 匿名 より:

    関数を追加。名前をSetMasterPoseComponentを作成しましたが、
    詳細のインプットへ変数を入力するにはどうしたらいいですか?
    Set Leader Pose Componentと同じようにするにはどんな型を選択したらいいですか?
    MeshComponent型だと接続できませんでした。

    • Hummerkey より:

      Set Leader Pose Componenの「ターゲット」から線を伸ばし、SetMasterPoseComponentのノードまでもっていくと「ノードにピンを追加」と表示されます。そこでドロップすると「ターゲット」に対応した型のインプットが追加されます。
      ドロップするのはピンに対してではなく、SetMasterPoseComponentの黒い空きスペースです。

      同じようにSet Leader Pose Componenの「New Leader Bone Component」から線を伸ばしてインプットを追加。

      ちなみにこのやり方はアウトプットに対してもできます。手入力より型の間違いがなくて良いです。

      • 匿名 より:

        返信が遅くなり申し訳ありません。

        ありがとうございます。アドバイス頂いた通りに

        ノードの線を伸ばしたら、入力せずにピンが追加されました。

        私は、あなたのこのサイトはDaz Studio(キャラクター)をUnrealEngineで使っている人にとって最高の情報源です。

タイトルとURLをコピーしました