先人の知恵として「 経験値0からのUE5 」さんの「 DAZ StudioのフィギュアをUnreal Engine 5.5に移行する 」という記事を参考に、DazStudioのキャラクターをUE5.5のサードパーソンキャラクターに直接ぶち込むのをやってみます。
結論、リターゲットなしに、直接サードパーソンキャラクターをDazStudioのキャラクターに変更することができました。(めっちゃ嬉しい!)
※UE5.5からと題していますが、「 DazToUnreal Plugin v5.5.0.488 」からEpic Skeletonを扱えるようになったので、UE5.5より下位のバージョン(5.1-5.5)でも使用が可能だと思われます。(検証はしてないので間違ってたらスマン)
追記(250504:14:08)・なんか手動でキャラクターのインポートを行うとスケルトンが崩壊して正常に動かなくなる現象に遭遇しました。スケルトンの保存の選択肢によってもインポートの挙動が変わるようで、今回はたまたまうまくいったのかもしれません。もう少し手順を検証してみます。
→ DazStudioとUEを同時に起動した状態でDazからエクスポートしてUEの自動インポートを行うとエラーは出ますがうまくいきました。
使用ソフトバージョン
- Daz Studio 4.23
- Daz To Unreal Bridge 2023 v1.2 → dllの上書きで Vod’s Version 5.5.0.468 に変化
- Unreal Engine 5.5.4
- DazToUnreal Plugin v5.5.0.488
ポイント
Daz To Unreal Bridge Vod’s Version 5.5.0.468 にConvert To Epic Skeletonというオプションが追加されたのが大きい(神)
手順の全体像
- DazToUnreal Plugin v5.5.0.488をUE5.5に手動インストール
- DazStudioのdzunrealbridge.dllを上書き
- Unreal Engineのプラグインを有効化&設定
- DazStudioからフィギュアをエクスポート→UEにインポート
- サードパーソンキャラクターと置き換える
YouTube解説動画
DazToUnreal Plugin v5.5.0.488をUE5.5に手動インストール
- 下記URLのGitHubから最新のDazToUnreal PluginのZipファイルをダウンロード
- 過去のモノとゴッチャにならないようにZip名にバージョンを記載
- Zipを解凍する
- フォルダの中から使用したいアンリアルエンジンのバージョンのフォルダをダブルクリック
(今回はUE5.5) - UE5.5フォルダに入っているDazToUnrealフォルダを、アンリアルエンジンのエンジンフォルダのプラグインフォルダにコピー(すでにある場合は削除してからコピーが良いかも、上書きだと不要なファイルが残る可能性あり、検証してないのですまんが実際は分からん)
ストアで販売されているDazToUnreal Pluginを購入すればエピックランチャーから簡単にインストールできますが、公式ディスコードでも明言されているように、FabでのDazToUnrealの購入は作者さんへの投げ銭の意味合いが強く、投げ銭をしたくない人は下記のGitHubから手動でインストールしてくださいのことでした。
David-Vodhanel / DazToUnreal / Releases
上記URLから最新のモノ、もしくは自分のインストールしたいUEのバージョンに応じたZipファイルをダウンロードしましょう。
図の様にアンリアルエンジンがインストールされているエンジンフォルダのプラグインに解凍して選択したエンジンバージョンのDazToUnrealフォルダをコピーします。
DazStudioのdzunrealbridge.dllを上書き
- Unreal EngineのエンジンプラグインフォルダにコピーしたDazToUnrealフォルダの中にある「 dzunrealbridge.dll 」をコピーします。
- DazStudioのアプリケーションの本体が入っているフォルダ(通常はCドライブ)の中にあるプラグインフォルダに「 dzunrealbridge.dll 」をペーストして上書きします。
(※自分はCドライブが圧迫されるのが嫌なので別に拡張したHドライブSSDにダズスタジオをインストールしています。詳しいことは過去記事「 Cドライブに入れたDazStudioをHドライブに移行する方法 」を参照ください。)
これでダズスタジオのDazToUnreal Bridgeが更新されて最新のオプション「 Convert To Epic Skeleton 」が使用できるようになります。(このオプションのお陰で直接サードパーソンキャラクターと置き換えられるようになったと思われる。神!)
Unreal Engineのプラグインを有効化&設定
- 編集 → プラグイン から DazToUnrealと検索してプラグインを有効化
(フォルダのコピーをミスっているとここで表示されませんが、まあミスることは無いでしょう。) - UEを再起動
- 再起動中、87%ーPythonを初期化しています。で約7分くらいかかり起動しないかと思いました。 → じっくり待てば起動するのでゆるりと待ちましょう。
- 編集 → プロジェクト設定 → プラグイン → DazToUnreal → ControlRigの設定でControlRigを作成しないようチェックをOFFにしましょう。(ControlRigを使いたい人はONのままで良いのかな?)
DazStudioからフィギュアをエクスポート→UEにインポート
DazStudioからフィギュアをエクスポート
- UEで使いたいフィギュアを呼び出し選択しましょう。(インタラクティブライセンスは必ず購入しておきましょう。遅くてもゲームをSteamやEpicGamesに出品するまでには必ず購入しましょう。)
- 衣装や髪の毛にこだわりたい人はスッポンポーンのフィギュアをエクスポートして、あとから衣装や髪の毛を設定しましょう。
- Export MorphsのチェックをOFF
- Convert To Epic SkeletonのチェックをONにして
- Acceptボタンを押しましょう。
- エクスポートすると自動的にUEにDazToUnrealというフォルダが生成されて、フィギュアも同じ様に生成されたフォルダに格納されました。
髪の毛を別途サラサラに動かす方法
UEにインポート
UEにインポートする際は、一旦保存したフォルダを手動でインポートするとエラーが出てスケルトンが崩壊する現象に見舞われました。
UEとDazStudioを同時に起動した状態でDazからエクスポート→自動でUEに取り込まれるという流れを踏むと、エラーは出ますが、スケルトンが崩壊するような致命的な不具合は起こりませんでした。
- インポートが自動的に進み、SkeletonModifierマージオプションが出現しますが、Merge TypeをNewにしてコミットボタンを押しましょう。
- スケルトンがすでに存在しますが、置換してもよろしいですか?と聞かれたので「 はい 」を選択すると、インポートのプロセスが進みます。
- 何もメッセージなどが表示されなくなるとインポート完了です。
※UEにインポートする際に図のように、スケルトンの保存を問われますが、上書き保存してはいを選ぶと上書きと再インポートのような処理が走ります。いいえを選択すると、大量のポップアップウインドウが表示されて再インポート?をするかどうかの選択を永遠と訊かされた上で、スケルトンが崩壊しました。(録画してなかった残念)
このポップアップでは上書きではなくポップアップした名前の後ろに「 名前_Named 」などのように新しいファイルとして保存するのが変な不具合を産まなくてスムーズに進むように感じました。
サードパーソンキャラクターと置き換える
デフォルトのサードパーソンキャラクターのスケルタルメッシュをインポートしたDazStudioのキャラクターに直接変更できるようになりました。(神)
以前はリターゲットをする必要がありアニメーションブループリントなど非常にめんどくさくシンプルではなく、微妙なアニメーションのズレなども起こっていました。アニメーションのズレはもしかしたら起こるかもしれませんが、直接キャラクターを置き換えられるというシンプルな構造が何よりも素晴らしいです。
まとめ
以前より、キャラクターの差し替えで苦労していましたが、ようやく簡単になったか?ともっと早く実装できなかったのか?という疑問しか湧きませんが、実際に実装するには果てしない想像もできない苦労などがあったのでしょう。
Unityでは標準でHumanoidで統一されてインポートしてHumanoidに適応するだけで簡単にキャラクターの差し替えができたので、ようやくアンリアルエンジンもUnityに追いついたのか?という実感です。
リグ構造には以前から不満があったので素晴らしいアップデートでした。
とはいえ、今までのゲームプロジェクトUE5.4で作成しているのどうしよう・・・。
コメント