MetaHuman – Blenderで服を合わせる方法

のチュートリアル動画の紹介です。この通りにやったら出来たので、同じところで詰まっている方のために置いておきます。

基本的には動画を観てください。私の場合ですが、動画のとおりにやったつもりでも重要な1クリックが抜けていて進めなかったりするので照合のために手順を書き出しておきます。

繰り返しますが基本的には動画を観てください。

【注意事項】

私の場合、初めこの手法を試してみましたが最終的に新しいChaos Cloth Panelを採用しています。ゲーム内で動作させることを考えずに、カットシーン撮影を前提としているためです。

Chaos Cloth Panelは現状Experimentalですので発売予定のゲームに組み込むことは推奨されていません。

また、動画の手法に関して負荷テストはしていません。この手法の最後の方では最大2つのMetaHumanの身体のメッシュをそのまま残しつつ、透過だけさせるという手段をとっています。元の身体のメッシュはコリジョン判定などのためにどの道残す必要はあるのですが、これをリアルタイムレンダリングで大勢出したらパフォーマンスに影響出るのではと少し懸念しました。さらに、服のメッシュによってはウェイトの調整が必要になると思います。

kai

今後はChaos Cloth Panelが標準になっていくとか

Unreal Engine

  1. 服のメッシュを用意する。
  2. 対象となるMetaHumanの身体と頭のスケルタルメッシュ(Mサイズの女性ならf_med_nrw_body など)をExport設定はLevel of DetailとCollisionのチェックを外す

Blender

  1. MetaHumanの身体と頭のスケルタルメッシュをImport
  2. FaceMeshの001だけを選択した状態にする(ボーンを選択しない)
  1. Viewport上でAlt+PでClear and Keep Transformation(CTRLではなくAlt)
  1. FaceMeshの大元を選択して右クリック>Delete Hierarchy
  1. ここまででBlenderファイルをセーブしておけば今後そのサイズ、性別の身体に服を追加する際のベースになる。
  2. 服をImport
  3. サイズを身体に合わせる
  4. 服を選択した状態でData TransferのModifierを適用
  1. Vertex Dataにチェック>Vertex GroupにチェックSourceにMetaHumanの身体のスケルタルメッシュ(f_med_nrw_body.001 など)を選択
  2. Generate Data Layersをクリック
  3. 身体のスケルタルメッシュの子のPoseを選択
  1. PoseModeに変更
  2. Pose>Apply>Apply Selected as Rest Pose
  1. ObjectModeに変更
  2. 服を選択して、Modifier>Armature
  1. Objectをrootに設定
  1. Shiftを押しながら服をドラッグして身体のスケルタルメッシュのrootにドラッグアンドドロップ
  1. ボーンを動かしてみてWeightを調整(動画内では、完璧に服がボーンについてきているためなし)
  2. 顔のメッシュを削除
  3. ArmatureとMeshをチェックしてExport FBX

Unreal Engine

  1. Import Skeletonにmetahuman_base_skelを選択
  1. 身体のメッシュに透明なマテリアルを作ってセットする
    動画ではTranslucentを使っていますが私はMaskedにしています。おそらくそちらのほうが負荷が軽いのではないかと。
  1. 全身を覆う服でMetaHumanの身体がそもそもいらない場合はやはり透明なマテリアルで消す。

完了

全体進捗はこちら