見出し画像

【UE5】ブレンドシェイプでキャラクターに表情をつける

※こちらは学習目的のコンテスト『第5回UE5ぷちコン 映像編』に参加した際に執筆した個人的な備忘録になります。ご参考にされる際は自己責任でお願い致します。


解説内容

BlenderやMAYAでメッシュに設定したブレンドシェイプ(シェイプキー)をUE5上で読み込み、アニメーションシーケンスに設定していきます。

今回の記事では参考にしたWebページ紹介と細々したメモがメインです。

UE5でシェイプキーを読み込む
キャラクターモデルに表情がついた
組み合わせて色々な表情ができる


シェイプキーをつける(基本動作)

シェイプキーの付け方は、以下の記事がわかりやすく解説されていました(別のWebサイトです)

Maya

以下の記事はMayaでブレンドシェイプを付けるところからUE5上での設定方法まで解説されているので、ほぼこちらの記事にお世話になりました(ヒストリアさんブログにはいつもお世話になってます)


Blender


Tips:Blenderですでにつけた表情を元に別の表情をつけたい場合

基本的にシェイプキーを新規追加するとBaseで設定した表情を元に作成することになります。
しかし、目元は同じで口元だけ変えたい場合などに以下の方法が便利でした。

元にしたいシェイプキーを選択(例では”Smile”)、値を1にする
右の下矢印メニューから”新規シェイプをミックスから作成”を選択

すると、新しいシェイプキーが追加されます。
Smileの値を0に、新しく追加されたシェイプキーの値を1にしてみるとSmileと同じ表情になっていることがわかります。

後は他のシェイプキーと同じように編集モードで頂点を移動させて新しい表情を作っていきます。

説明用の突貫なのでちょっと不気味…

補足

表情全体で1シェイプキーではなく、目と口などで分けた方が掛け算的に表情が増やせるので楽だなあと思いました✍


UE5にブレンドシェイプが設定されたスケルタルメッシュを読み込む

MayaやBlender等のDCCツールからFBXを書き出してUE5に読み込みます。
ブレンドシェイプを書き出す項目があれば設定してください。

インポート設定
メッシュ >詳細設定 >Import Morph Targets
にチェックを入れてFBXモデルをインポートします。

追加されたスケルタルメッシュをダブルクリックで開くと、”モーフターゲット”タブにDCCツールで設定したブレンドシェイプ(シェイプキー)の項目が並んでいると思います。

こちらのバーをスライドさせることで確認が可能です。
ついでにマテリアルも設定してみました。

Smile:1で笑顔になった


アニメーションシーケンスにブレンドシェイプを組み込む

事前にMannyさんのモーションをコンバートして自作キャラクターのアニメーションシーケンスを作成しました。(別途記事で解説予定)
例では”MM_Idle”という待機のアニメーションシーケンスに表情を設定していきます。

アニメーションシーケンスデータをダブルクリックで開きます。


下のタイムラインの項目内 カーブ >カーブを追加 >任意のブレンドシェイプ


ブレンドシェイプ名が項目に追加され、平らなカーブの線が表示されます


追加したブレンドシェイプ名 カーブ >カーブを編集
新たに”カーブエディタ”タブが立ち上がります


カーブ上にマウスカーソルを合わせ、中ボタンクリックでキーが追加されます


左上の2つのボックスに数値が並んでいます。
左:フレーム
右:ブレンドシェイプの値

キーを選択し、例では0フレーム目に笑顔の値が1になるように設定しました。
再生すると、満面の笑みの待機モーションを拝むことができました。


タイムライン上にもう一つキーを追加して徐々に表情を変えることも可能です。
例では以下に設定しました。(徐々に笑顔になっていると思います)
フレーム:0 値:0
フレーム:3 値:1


ブレンドシェイプを組み合わせる

笑顔 + 左目線 のように、ブレンドシェイプを掛け合わせることも可能です。

MM_Idle(アニメーションシーケンス名)タブに戻り、
先程と同じように カーブ >カーブを追加 >任意のブレンドシェイプ
でカーブを追加します。


”カーブエディタ”タブが立ち上がり、”Eye_Left(任意のブレンドシェイプ名)”が追加されます。
選択してキーを打ち、数値を設定することで笑顔の上に目線を加えることができました。

以上でアニメーションシーケンスに表情を付けることができました。

レベルに配置するとこんな感じです。PIE(上の再生ボタン)実行で表情付きのアニメーションが再生されてます。


補足

個人的に体のモーションが終わった後に表情を付けるフローがやりやすかったです。
今回はMannyさんのコントロールリグで作成したアニメーションシーケンスを、IKリターゲッタでコンバートする方法で自作キャラのアニメーションシーケンスを作成していたのですが、そのやり方だと修正が入る度に表情がつけ直しになっていました。

シーケンサーを使用してアニメーションシーケンスを任意のタイミングで再生したり他のアニメーションシーケンスとブレンドする方法も今後執筆予定です。


参考資料

記事でご紹介した以外の参考資料です


この記事が気に入ったらサポートをしてみませんか?