LoginSignup
3
1

MetaHumanで2Bみたいな顔にする

Last updated at Posted at 2024-03-18

概要

MetaHumanにカスタムメッシュを適用しニーアオートマタの2Bのようなセミリアルな顔のキャラクタを作成しUnrealEngine(以下UE)でアバターキャラクターとして動かす方法を記述します。
髪の毛の表現にUEのGroom機能を使用しますが、実行時の負荷は検証していません。

対象

この記事はBlenderおよびUnrealEngineを使用したことがあり、初歩的な操作はできる方で、MetaHumanCreatorでプリセットからアバターは作成したことがあるがMesh to MetaHuman(任意の顔のメッシュでMetaHumanを作成する機能)を使用したことがない方を対象とします。

プレビュー

だいたいこんな感じになります。
めちゃくちゃ寄せれるわけではないですが、フワっと雰囲気似てるかなぐらいには思えるのではないでしょうか?
顔のディテールや髪の毛のスタイリングをもっと詰めるともうちょっとましになると思います、、、

スクリーンショット 2024-03-18 073617.png

使用環境

エディター

UnrealEngine 5.2 Upper

  • Mesh to MetaHumanを利用するため5.2以上が対象です。

Blender 3.5 Upper

  • ヘアシステムを使用するため3.5以上が対象です。

Autodesk FBX Converter

  • BlenderでUEでエクスポートしたFBXをインポートする際に、シェイプキーを保持するためにFBXのバージョン変換を行うために必要です

Quixel Bridge

  • MetaHumanの作成に必要です。

UEプラグイン

metahuman plugin

  • Mesh to MetaHumanを使用するために必要です。

Quixel Bridge plugin

  • UEからをQuixel Bridge使用するために必要です。

素材データ

LooksLike2BAsMetaHuman

ファイル名 概要 用途
HairSource.blend Groomの素材 ヘアパーティクルを使用して髪の毛用のAlembicファイルを作成する
SculptedFace_From_MetaHuman.blend Mesh to MetaHumanの素材 Mesh to MetaHumanで使用する素材のメッシュを作成する
SculptedFace_From_MetaHuman.obj Mesh to MetaHumanの素材 Mesh to MetaHumanで参照する素材のメッシュ
Hana.mhb MetaHumanCreatorファイル MetaHumanCreatorでインポートすることで作成済みのプリセットのMetaHumanを読み込む
CustomMesh_M_Alpha.mhb MetaHumanCreatorファイル MetaHumanCreatorでインポートすることで作成済みのカスタムメッシュMetaHumanを読み込む

カスタムメッシュ作成

  • UEプロジェクトにプラグインを追加

Quixel Bridge plugin
スクリーンショット 2024-03-18 085121.png

metahuman plugin
スクリーンショット 2024-03-18 085029.png

素材のメッシュをUEに読み込み

素材データのSculptedFace_From_MetaHuman.objをStaticMeshとして読み込む

スクリーンショット 2024-03-18 115300.png

スクリーンショット 2024-03-18 115344.png

インポート設定でCombine Static MeshesをONにする

カテゴリ プロパティ
Static Mesh Combine Static Meshes On

スクリーンショット 2024-03-18 115432.png

スクリーンショット 2024-03-18 120147.png

  • Static Meshesにマテリアルを設定

読み込んだStatic Meshesに顔と目のマテリアルを適用する

スクリーンショット 2024-03-18 120944.png

スクリーンショット 2024-03-18 120911.png

スクリーンショット 2024-03-18 121207.png

Mesh to MetaHumanで素材のメッシュからMetaHumanを作成

コンテンツブラウザの右クリックメニューで、MetaHumanIdentityを作成する。

スクリーンショット 2024-03-18 110321.png

スクリーンショット 2024-03-18 110706.png

スクリーンショット 2024-03-18 110613.png

  • Create Conpornentsをクリックし、先ほど読み込んだStaticMeshを指定します。

スクリーンショット 2024-03-18 115736.png

  • Mesh to MetaHumanに使用するオブジェクトが自動生成されます。
    スクリーンショット 2024-03-18 121432.png

  • Promote Frameを実行
    顔のパーツのガイドを作成する基準となるビューを設定します。
    顔のメッシュを正面から見るカメラは一にしてください。

スクリーンショット 2024-03-18 121854.png

スクリーンショット 2024-03-18 121828.png

  • Track Markersを実行

メッシュのパーツを自動検知してガイドが作成されます。

スクリーンショット 2024-03-18 125023.png

  • MetaHuman Idetiy Solveを実行
    参照しているメッシュ形状に沿うようなメッシュが計算されます。

  • Mesh to MetaHumanを実行
    Quixel Bridgeのアカウントに自分のMetaHumanが追加されます

※整ったセミリアル調の顔にする自分の知見としては、眼球はあまり大きくせず、代わりに瞳を大きくし、顎を尖らせるとそれっぽくなる感じがしました。

※MetaHuman作成時に、眼球のサイズを変更することはできないのでアイホールの形状を大きくすると眼球が浮いてしまいます。
眼球のサイズ変更方法は後述します。

MetaHumanCreatorで自分のMetaHumanを作成

  • Quixel Bridgeを経由して、MetaHumanCreatorを起動し
    素材データのCasutomMesh_M_Alpha.mhbをインポートする。

スクリーンショット 2024-03-18 102603.png

スクリーンショット 2024-03-18 102648.png

スクリーンショット 2024-03-18 112920.png

成功すれば自分のMetaHumanにCasutomMesh_M_Alphaが追加されます。
スクリーンショット 2024-03-18 113259.png

Quixel Bridge PluginでMetaHumanを読み込み

  • Quicly add the ObjectメニューからQuixel Bridgeを選択します。

スクリーンショット 2024-03-18 125827.png

スクリーンショット 2024-03-18 130706.png

スクリーンショット 2024-03-18 130720.png

髪の毛を作成

Groom用のソースデータを作成

  • Blenderのヘアシステムを使用してヘアパーティクルを作成します。
    素材データのHairSource.blendをBlenderで開き、UEでインポートするためのファイルを作成します。

生え際を表現するヘアパーティクル
スクリーンショット 2024-03-18 020911.png

メインの髪のヘアパーティクル
スクリーンショット 2024-03-18 020854.png

ヘアシステムのRender設定

エクスポート時に頭のメッシュが含まれないようにヘアシステムのRender設定を変更します。

カテゴリ プロパティ
Render Show Emitter Off

スクリーンショット 2024-03-18 023929.png

Alembicファイルをエクスポート

ヘアシステムをアタッチしたメッシュを選択し、Alembicファイルでエクスポートします。

スクリーンショット 2024-03-18 024054.png

  • Alembicファイルのエクスポート設定
    必要なものだけがファイルに含まれるように設定を変更します。
カテゴリ プロパティ
Manial Transform Scale 100
Scene Opions Start 1
Scene Opions End 1
Scene Opions Selected Objects On
Scene Opions Visible Objects On
Object Options UVs Off
Object Options Pack UV Islands Off
Object Options Normals Off
Object Options Color Attributes Off
Object Options Generated Cordinaes Off
Object Options Curves as Mesh Off
Particle Systems Export Hair On
Particle Systems Export Particles On

スクリーンショット 2024-03-18 040332.png

UEでGroomを作成

Alembicファイルからヘアパーティクルをインポート

コンテンツブラウザで右クリックメニューからImport toを選択
前工程のAlembicファイルをエクスポートで作成したAlembic(.abc)ファイルを選択するとGroomのインポートメニューが開きます。

スクリーンショット 2024-03-18 035117.png

  • Alembicファイルのインポート設定

Groomの回転軸をBlenderからUEに併せます。

カテゴリ プロパティ
Conversion Rotation 90, 0, 0
Scale End 1, -1, 1

スクリーンショット 2024-03-18 035306.png
※Groomのインポートメニューにならない場合は、Alembicファイルの出力の不備の可能性が高いです。

成功すれば以下のようなアイコンでオブジェクトが作成されます。
スクリーンショット 2024-03-18 040619.png

  • Groomのプロパティ設定
    作成されたGroomのオブジェクトメニューを開きます。
    お好みで変更してください。
    簡易的な参考設定を載せておきます。

スクリーンショット 2024-03-18 040824.png

Strandsタブを選択し、髪の太さの設定を変更します。

カテゴリ プロパティ
Strands Hair Width 0.1
Strands Hair Tip Scale 0.01

スクリーンショット 2024-03-18 041003.png

Physicsタブを選択し、髪の物理演算の設定を変更します。

カテゴリ プロパティ
SolverSettings Enable Simlation On
SolverSettingsv Gravity Preloading 1

スクリーンショット 2024-03-18 040918.png

UEでGroomをバインディング

  • スケルタルメッシュへのバインディング用オブジェクトを作成
    作成されたGroomのオブジェクトの右クリックメニューからCreate Bindingを選択

スクリーンショット 2024-03-18 042154.png

  • バインド対象のスケルタルメッシュを選択
    Quixel Bridge Pluginで読み込んだMetaHumanの顔パーツのスケルタルメッシュを選択します

スクリーンショット 2024-03-18 051845.png

成功すれば以下のようなアイコンのオブジェクトが作成されます。
スクリーンショット 2024-03-18 054126.png

  • MetaHumanのスケルタルメッシュにGroomをバインド
    Quixel Bridge Pluginで読み込んだMetaHumanのBPのビューポートメを開きます。

スクリーンショット 2024-03-18 053003.png

  • BPのComponenttsのヒエラルキーのHairオブジェクトを選択
    DetailsタブのGroomカテゴリにそれぞれ対象のオブジェクトを設定
カテゴリ プロパティ
Groom Groom Asset Alembicファイルを読み込んで作成したGroomオブジェクト
Groom Binding Asset 先ほど作成したBinding Assetオブジェクト

スクリーンショット 2024-03-18 053124.png

スクリーンショット 2024-03-18 054927.png

MetaHumanの眼球の編集

眼球のサイズ変更

  • MetaHumanCreatorでは眼球サイズ変更はできないためAnimBPに処理を加えてプログラムの処理で眼球サイズを変更します。

以下のAnimBPがMetaHuman作成時でのデフォルトの顔の向きや表情を動かすためのAnimBPとなっています。

Content > MetaHumans > Common > Face > Face_PostProcess_AnimBP

スクリーンショット 2024-03-18 055903.png

各MetaHumanの顔のスケルタルメッシュのAsset Detailsで参照されています。
変更したい場合は下記のプロパティの参照を変更します。
※この記事では簡単のためデフォルトのMetaHumanのAnimBP(Face_PostProcess_AnimBP)に変更を加えます。

カテゴリ プロパティ
Skeltal Mesh Post Process Anim Blueprint Face_PostProcess_AnimBP

スクリーンショット 2024-03-18 060601.png

眼球編集処理用のCotrolRigを作成

コンテンツブラウザの右クリックメニューからControlRigを選択。

スクリーンショット 2024-03-18 064948.png

Rig HierarchyタブのImport Hierarchyをクリックし、対象となるMetaHumanの顔のスケルタルメッシュを選択しOKをクリックすると、ボーンの改装が読み込まれます。
スクリーンショット 2024-03-18 065405.png

スクリーンショット 2024-03-18 065553.png

  • 眼球サイズの変更及び、奥行きの位置の調整を行うBPを記述します

Offset Transformノードの対象は以下のボーンです。

  • FACIAL_L_Eye
  • FACIAL_R_Eye

スクリーンショット 2024-03-18 065927.png

眼球編集処理をAnimBPに追加

  • ControlRigノードを追加

ControlRigノードを作成し、先ほど作成したControlRigを参照します。
これで眼球サイズがエディター、ランタイム両方で変更されます。

スクリーンショット 2024-03-18 070838.png

スクリーンショット 2024-03-18 070802.png

瞳のサイズ変更

  • MetaHumanの眼球用マテリアルのプロパティを編集

瞳のサイズはMetaHumanの眼球用マテリアルのプロパティを編集して変更できます。
眼球のマテリアルはデフォルトでは各MetaHuman毎に割り振られています。

Content > MetaHumans > (対象のMetaHumanフォルダ名) > Face > Materials > MI_EyeRefractive_Inst_[L|R]

スクリーンショット 2024-03-18 072910.png

様々な設定がありますが、瞳のサイズは以下のプロパティです。
好みで調整してください。
数値が大きいと瞳のサイズも大きくなります

カテゴリ プロパティ
Iris IrisUVRadius 0.5

スクリーンショット 2024-03-18 073058.png

あとがき

難しいモデリングやマテリアル作成をしなくても、ハイクオリティな人体モデルが作成できるMetaHumanすごいですね!
ただ処理負荷はそこそこあるので、ゲーム用途で使うには工夫が必要かもしれません、、、

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1