DAZ StudioのフィギュアをUnreal Engine 5.5に移行する

DAZ StudioのフィギュアをUnreal Engine 5.5に移行する手順。
スケルトンのコンバートが可能になり、有料ソフト不要で飛躍的に簡単になりました。

使用したソフト

  • DAZ Studio 4.23
  • Unreal Engine 5.5.1
  • DazToUnreal 5.4.0.473

DazToUnrealのダウンロードとインストール

DazToUnrealとは、DAZ StudioのフィギュアやアセットをUnreal Engine 5に移行するためのツールです。
GitHubで無料ダウンロードできます。
ダウンロードはDazToUnreal.zipのみで良いです。
Releases David-Vodhanel/DazToUnreal | GitHub

ダウンロードしたDazToUnreal.zipを解凍してください。
複数のUE5バージョンに対応しており、複数のフォルダがあります。
例えばUE5.5でDazToUnrealを使うなら、
UE_5.5というフォルダの中にあるDazToUnrealフォルダをコピーします。
中のファイルではなく、フォルダごとコピー。

UE5.5がインストールされているフォルダを開きます。
人によって違うかもしれませんが、私の場合は↓
Program Files > Epic Games > UE_5.5 > Engine > Plugins
このPluginsフォルダ内にDazToUnrealフォルダをペーストします。

ペーストしたDazToUnrealフォルダを開きます。
DazToUnreal > Resources > dzunrealbridge.dllをコピーします。
Daz 3Dがインストールされているフォルダを開きます。
私の場合は↓
ボリューム (D:) > Program Files > DAZ 3D > DAZStudio4 > Plugins
※私はDAZStudioをボリュームDにインストールしています。
このPluginsフォルダ内にペーストする。
この時「宛先には既に”dzunrealbridge.dll”という名前のファイルが存在します」と表示されますから「ファイルを置き換える(R)」を選択します。

Unreal Engine 5.5のプロジェクト設定

Unreal Engine 5.5を起動し、自分のプロジェクトを開いてください。

上メニューから 編集 > プラグイン を開く。
検索欄にDAZと入力するとDazToUnrealがヒットします。
※ヒットしない場合はインストールに失敗しています。
チェックボックスにチェックを入れて、今すぐ再起動

プラグイン導入後、1回目の再起動は時間がかかります。

プラグイン設定

上メニューから 編集 > プロジェクト設定 を開く。
左メニューのプラグインのリストにあるDaz to Unreal Settingsを選択。

Control Rigは不要ですから、
Control Rig > Create Auto JCMControl Rigのチェックを外す。
Control Rig > Create Full Body IKControl Rigのチェックを外す。

Plugin Settings > Import Directoryを指定すると、DAZ Studioから移行してきたフィギュア等が、どのフォルダに入れられるかを設定できます。
デフォルト設定では、コンテンツフォルダの中にDazToUnrealというフォルダが作成され、その中に入ります。

DAZ Studio

DAZ Studioを開きます。
UE5.5に移行させるフィギュアや衣装をビューポートに呼び出す。

ゲーム内で服の着替えをさせたいなら、全裸のフィギュアを先に移行させます。
着替えが必要ないなら、衣服を着用した状態のフィギュアを移行させます。

■注意1:ポーズのリセット
フィギュアが何らかのポーズをとっていると、移行した時にボーンがズレやすいです。
必ずポーズリセット状態の純粋なAポーズにしておきましょう。

■注意2:洋服の貫通防止
UE5.5に移行したキャラクターを動かすと衣服から肌が貫通する部分が見られやすいです。
これを防止するため、衣服を厚くします。

まず前提として、各衣服のParametersが独自に持っている設定項目で、フィギュアにちゃんとフィットさせておくことが大事です。

■注意3:髪の毛の移行はオススメしない
まずdForceの髪の毛は移行時にエラーとなり、髪の毛だけじゃなくフィギュア自体を移行できません。

dForceでない髪の毛は移行可能ですが、重かったり、描画が不自然になりやすいですから、髪の毛の移行はオススメしません。
Fabで購入した髪の毛をセットした方が良いでしょう。

厚くする手順

Sceneペインで衣服を選択。
※Ctrlキーで、複数の衣服・アクセサリーの選択も可能です。
上メニューの Edit > Object > Geometry > Add Push Modifier…をクリック。
名前はPushModifierのままAcceptをクリック。
衣服が厚くなりすぎて、モコッと膨らみます。

衣服のParametersにPushModifierが追加されており、デフォルト値は1.00です。
これを0.2にします。
UE5.5でテストプレイして余裕がありそうなら0.1にしても良いですし、まだ貫通が気になるなら0.25→0.3と値を増やしてみましょう。

一流のゲームでも貫通現象は見られますから、細かすぎるところは気にしないことも重要です。

UE5.5へ移行

まずUnreal Engine 5.5のプロジェクトを開いた状態にしておきます。

DAZ StudioのSceneペインでフィギュアを選択する。

上メニューの File > Send To > Daz To Unreal を選択。
ウィンドウが開きます。
・Asset Nameは移行時のフォルダ名とアセット名になります。
・【オプション】Morphを使用する場合はExport Morphsにチェックを入れて、Choose Morphsから使用するMorphを選択する。ゲーム内でキャラクターの表情を変えたりできます。
・【オプション】高品質ムービーで使用する場合は、Bake Subdivisionにチェックを入れて、Bake Subdivision Levelsから各パーツのSubdivision Levelを設定します。4にすると最高品質ですが、三角ポリゴン数は軽く1,000万を超え、言うまでもなく非常に重くなります。0でも数万ポリゴンになりますから、基本的にはチェック不要な項目です。
・Convert To Epic Skeletonにチェックを入れる。

Acceptをクリック。

SkeletonModifierマージオプションのウィンドウが開きます。
Merge TypeはNewのままコミットをクリック。

エラーが出ますが、気にする必要はありません。

動作テスト

サードパーソンテンプレートの場合、
ThierPerson > Blueprints にあるBP_ThirdPersonCharacterを開く。

Mesh (CharacterMesh0)の、
メッシュ > Skeletal Mesh Assetを移行してきたフィギュアに変更。

テストプレイすると問題なく機能しました。
MM_*****やMF_*****のアニメーションシーケンスでも動きますが、リターゲットしていないと動きが不自然になるところもあります。リターゲットはした方が良いです。

昔みたいに有料ソフトでボーンを設定したり、Blenderで調整する必要がなくなり、飛躍的に簡単になりましたね。

衣服の着替え

1.全裸のフィギュアをUE5.5に移行

上記手順通りに、まずは全裸のフィギュアをUE5.5に移行しましょう。

2.衣服のみをUE5.5に移行

DAZ Studioで、先ほど移行させたフィギュアに衣服を装着。

Sceneペインで衣服のみを選択する。
Tシャツとズボンをセットにしたい場合は、Sceneペインの階層で、Tシャツの下にズボンを入れるとセットになります。靴やアクセサリーもセットにできます。

上メニューの File > Send To > Daz To Unreal を選択。
ウィンドウが開きます。
・Asset Nameは移行時のフォルダ名とアセット名になります。
・Morphを使用する場合はExport Morphsにチェックを入れてChoose Morphsから選択する。
・Convert To Epic Skeletonにチェックを入れる。
Acceptをクリック。

SkeletonModifierマージオプションのウィンドウが開きます。
Merge TypeはNewのままコミットをクリック。

多数のエラーが出ますが、気にする必要はありません。

移行したアセットのサムネイルが衣服のみであれば成功です。

3.プレイヤーBPの編集

サードパーソンテンプレートの場合、
ThierPerson > Blueprints にあるBP_ThirdPersonCharacterを開く。

Mesh (CharacterMesh0)の、
メッシュ > Skeletal Mesh Assetを移行してきた全裸フィギュアに変更。

コンポーネントにスケルタルメッシュコンポーネントを追加。衣服用です。名前は自由に決めて構いません。
階層的にはMesh (CharacterMesh0)の下に入れます。
そしてトランスフォームの位置と回転を0にします。
Mesh (CharacterMesh0)の下に入っているので、0で同じ位置と回転になる。

衣服用に追加したスケルタルメッシュコンポーネントの、
メッシュ > Skeletal Mesh Assetを移行してきた衣服フィギュアに変更。
この時点では、衣服がフィットしません。

Construction Scriptを開く。

ノードの編集 Construction Script

Set Leader Pose Componetを配置。衣服のスケルタルメッシュコンポーネントをターゲットに繋ぎ、New Leader Bone ComponetにMesh (CharacterMesh0)を繋ぎます。
これでMesh (CharacterMesh0)のポーズに合わせて、衣服のスケルタルメッシュコンポーネントも動くようになります。

ゲーム中、衣服のスケルタルメッシュコンポーネントのSkeletal Mesh Assetを変更することで、着替えシステムができます。
Set Skeletal Mesh Assetのノードを使い、New Meshを指定します。

髪型

髪型を追加する時も同じやり方で出来ますが、Fabで購入した髪型を追加する場合、DAZ Studioから移行したフィギュアにフィットさせるには、髪型の位置とサイズの微調整が必要となり、その結果、動くとズレやすくなります。

髪型の場合は、Set Leader Pose Componetは使用せず、髪型のスケルタルメッシュコンポーネントの ソケット > 親ソケット をHeadにした方がフィットしやすいです。

親ソケットをHeadに設定した後、位置と回転の再調整が必要になりますが、頭にピッタリとフィットします。

その他の注意点

影が不自然になる場合

影が不自然になる場合、上メニューの 編集 > プロジェクト設定 を開く。

検索欄にシャドウと入力すると、複数の項目がヒットします。
エンジン > レンダリング > Direct Lightning > シャドウ マップ メソッドがデフォルトではVirtual Shadow Mapsになっています。
これは高品質な影を提供しますが、対応していないアセットだと不自然な影になります。
これをShadow Mapに変更すると不具合が解消されます。当然ながら影の品質は落ちます。

コメント

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