服は過去記事の「 Blenderで作った服をDAZ Studioでレンダリングする 」で作ったテスト用の服を使ってUE5.5でデフォルトのUEマネキンに着せる手順を示していきます。
と思ったのですがどうやらキャラクターとそのキャラクターに着せる服は同じリグ構造をしている必要があるようです。
これがまた厄介な話になりそうです。
と思いきや、DazStudioのDazToUnreal Bridgeのアップデートにより、DazStudioからEpic Skeletonでキャラクターを書き出せることを発見しました。「 UE5.5からDazのキャラを直接差し替えられる様になった件が神すぎる 」
そこで今回はダズスタジオからエクスポートした服を使ってUE5.5のChaosClothで服を動かせるか?やり方も含めて検証していきます。
YouTube動画作成予定
2025年5月6日 17:00 公開予定
前提条件
まずは過去記事を参照して① Blenderで作った服をDazStudioでキャラクターに着せて動かせるようにしてください。(Dazのストアから購入した服を着せる場合は不要です)さらに、② DazStudioからEpic Skeletonでエクスポートできる環境をDazToUnreal BridgeとDazToUnreal Pluginを導入して作ってください。今回はそこからが出発点となります。
DazStudioから自作の服をエクスポートする
着せたいフィギュアと同じスケルトンでエクスポート
UEでキャラクターに服を着せるには着せたいキャラクターと、着せる服が同じリグ構造(今回はEpic Skeleton)をしている必要があります。またエクスポートするときはフィギュアをAポーズにして、DazStudioとUEを同時に起動して、DazStudioのエクスポート→UEに自動的にインポートの手順で行いましょう。
手動でインポートするとスケルトンのリグ構造が崩壊してキャラクターがおかしくなりました。
リグ構造が一致しないとアニメーションの追従がおかしくなるらしいです。
UEでChaosClothの設定を行う
プラグインを有効にする
- 編集 → プラグイン → Chaos Clothを検索に入力
- 「 Chaos Cloth Asset 」にチェックを入れる
- 「 Chaos Cloth Asset Editor 」にチェックを入れる
- 再起動
カオスクロスはベータ版の機能です。製品に取り込む場合は使用するか?しないか?の判断は実験検証をするなどして慎重に判断しましょう。
UEに服を読み込ませる
- コンテントドローワー → Physics → ClothAsset → 名前をつけて物理アセットを作成 → ダブルクリック → 服の設定を行う画面が開く
- USD Importノードを消す(マーベラスデザイナーなどで作成したソーイングアセット使用するノードっぽいです。)
- 右クリック → SkeletalMeshImportノードを作成 → TransformPositionsノードに接続
- SkeletalMeshImportノードを選択 → 詳細パネルからインポートしたスケルタルメッシュの服を選択する → プレビューに服が表示される(2Dと3Dを切り替えられる)
- TransferSkinWeightsノードを選択 → 詳細パネルから着せたいキャラクターのスケルタルメッシュを選択する
- Preview SceneウインドウのSkeletal Mesh Assetに着せたいキャラクターを選択するともう一つのプレビュー画面に服を着たキャラクターが表示される。
UE上でウエイトペイントをして揺らすエリアを塗る
- AddWeightMap_MaxDistanceノードを選択 → プレビュー画面の服が黒くなりウェイトペイントができるようになる
- ブラシを動かし左クリックで揺らしたい服の部分を選択すると、選択した服のいち部分が白くなる。
髪の毛もClothAssetで揺らせる
余談ですが、スタティックメッシュでインポートした髪の毛も、SkeletalMeshImportノードの代わりにStaticMeshImportノードに変更して同じ様にウエイトを設定すれば揺らすことができるようです。
この当たり別の方法でも揺らすことができますが、処理負荷的に、ClothAssetで揺らす方が処理負荷が少ないように感じます(検証はしてないので感覚的な印象)。
ブループリントで服や髪を着せる
- 服を着せたいキャラクターがあるブループリントを開く → ComponentsのAddから「 ChaosClothCompComponent 」を追加
- 追加したコンポーネントを選択 → 詳細パネルから Cloth Asset → 先程作成したCloth Assetを設定
- エディタでプレイしてみて問題なく装着・揺れが起こると成功
結果
Blender で自作した服以外にも、ダズスタジオのストアから購入した既製品でも服を着せることに成功しました。若干タイトル詐欺のようになってしまいましたが嬉しい誤算です。(Dazの既製品をゲームで使用する場合はインタラクティブライセンスを必ず購入しておきましょう。)
途中、何度かスケルトンの構造を破壊しつつなんとかカオスクロスで服を着せるところまではできました。しかし物理シュミレーションに処理負荷がかかるようで、デフォルトマネキンのFPS60からFPS40まで低下してしまいました。(後日プロジェクトを再起動したらFPSは60まで向上しました。設定を行った直後は背後で何かの処理が走り一時的に重くなっているようです。)
またインポートの際にスケルトンが崩壊することがある上に、成功してもエラーメッセージが何度も出る(下記参考)ので、もしかしたらAutoRigProを使って運用するほうがやりやすいのかもしれません。
この当たりはまたおいおいAutoRigProを購入したら検証していきます。
エラーメッセージについて
SK_Mannequin is missing bones that SkeletalMesh CharaMake_AiChan_0_1_250501 needs. They will be added now. Please save the Skeleton!
というエラーが頻繁にでます。これは「 インポートされたDaz Studioのキャラクターが、指定されたスケルトン(この場合はSK_Mannequin=EpicのMannequinスケルトン)に存在しないボーンを持っているため、UEがその足りないボーンをSK_Mannequinに追加しようとしているという意味 」らしくSK_Mannequinのボーンを上書きしてしまうとUEのリグ構造が崩壊してアニメーションがうまく再生されなくなります。
度々エラーが出てきて無視していれば良いのですが、あまり気持ちの良い状態では無いですね。
コメント