Unreal Engine (UE) Advent Calendar 2021 12/8の記事です!
【目次】
1.できるもの 2.今回の対象者 3.表情を変更する方法って何でできるの? 4.作成手順 (1).AnimBPで表情をつける前準備をする (2).モーフターゲットの変更 (3).CharacterBPに設定する (4).変更を送信するBPを設定する
5.実装にあたって 6.まとめ
【1.できるもの】
今回作ったのはこちらです。UIでお好きに調整できます。
開発環境:
・UE5.0,Windows10
キャラ:
メイちゃん(自作)
Vroidの導入とVRM4Uに関しては以下引用元をご確認ください。
【2.対象者】
・Vroidで作成したキャラの表情をUnrealEngine上で動かしたいって人向け
・モーフターゲットで苦しみたくないって人向け
【3.表情を変更する方法って何でできるの?】 モーフターゲットを使用しています。 Vroidにはデフォルトで表情が設定されているため、Unreal上ではカーブ値で表情のパラメータを変更することができます。
【4.作成手順】
(1).AnimBPで表情をつける前準備をする
AnimBPクラスを作成し以下画像のように作成します。
ステートマシンとして口のモーフアニメーション(MouthMorph)と目のモーフアニメーション(EyeMorph)の2つを加算し、デフォルトスロットとマージしています。
AnimBP
ステートマシーン「MorphMouth」
ステートマシーンの中は通常(Nature)のものと笑顔(Joy)を作成しています。
これを変数で切り替えることでNatureとJoyの口を変更することができます。
アニメーションを遷移する条件を設定していきます。 あらかじめ表情を変更するEnum「MouthMorphState」を作成しており、それを変数で呼び出しています。条件を設定するには矢印の横の丸いマークをクリックしてください。
Enum「MouthMorphState」
「Nature」→「Joy」の遷移条件設定
上画像のようにJoyに合致(イコール)すればJoyの口のアニメーションに遷移します。もう一つの遷移にはノットイコールをいれることで元の通常の口の形に戻ります。
(2).モーフターゲットの変更 今回は笑顔にしたいのでお試しに口がJoyのものを探します。動かしたいパラメータ名がわからなければ先ほどの【3.表情を変更する方法って何でできるの?】の画面をぐりぐりいじりましょう。対象のパラメータは「Face.M F00 000 00 Fcl MTH Joy」となります。
表情の変更の仕方も色々あるのですが、今回はAnimBPで「カーブを変更」として呼んであげるだけです。「カーブを変更」ノードの上から右クリックを押し、「カーブピンを追加」から「Face.M F00 000 00 Fcl MTH Joy」を選択し、値を1にしておきます。 「Joy」
これで下準備が整いました。
(3).CharacterBPに設定する
キャラクタークラスのAnimBPに変更が適用されないと処理が反映されませんでした。
そのため処理が受け取れるように設定します。
キャラクターのBPからTickノードにMorphCharacterChange関数をセットします。 ※Tickよりもいいやり方はあると思いますがこちらしか今のところ思いつかず。
MorphCharacterChange関数の中身は以下となります。Enum「MorphState」を変数「CharaMouthMorphState」として作成します。簡単に言うと先ほどAnimBPで設定したステートマシーンの変更をAnimBPから呼び出しセットしています。これで「CharaMouthMorphState」変数が変更された際に口の変更が反映されるようになります。
(4).変更を送信するBPを設定する
今回はWidgetを使用し、ボタンを押すと表情が変更される作りにします。 Joyボタンを作成し
変数をCharacterBPで作成した先ほどの変数「CharaMouthMorphState」にCastしてセットしてあげるだけ。これでJoyボタンを押すと変数の変更を通知してくれます。
あとは実行するだけ!楽しい!
5.実装にあたって 元々生き生きした魂を実装したキャラクターを作りたいことを目指していました。
その過程でまずは表情をいれるべきと漠然とした考えしかなく、
そもそも表情システムってなんぞ?というところから始めました。
ただ表情を入れただけでは生きているとは到底言えないクォリティで
各社ゲーム会社さんはどう魂を実装しているのだろうと悶々と独りで悩んでいました。
そんな時に偶然サイゲームス様の以下講演があり、設計思想が非常に参考になりました。
ウマ娘 プリティーダービー 3DCGキャラクター事例 ~基本設計とウマ娘ならではの表現について~
特に仕様制定時の流れ、表情+動き+情景の部分は見ておいて損はないかと思います。
上記動画を見て、表情システムを参考に目と口を分け今後色んな表情を作成できるようにしようとした結果が今回の実装となりました。次回はもっと感情豊かにかわいさを感じる動きにしていきたいと思います。
6.まとめ
モーフターゲットを楽しもう!
その他参考元: モーフ ターゲット プレビューア https://docs.unrealengine.com/4.27/ja/AnimatingObjects/SkeletalMeshAnimation/Persona/MorphTargetPreviewer/
UE4 モーフターゲットを使って表情を変えてみる
Comments