ネリスさん備忘録

主にUE4の備忘録を残すよ!

【UE5】サードパーソンテンプレートのBPを乗っ取るまで【備忘録】

サードパーソンテンプレートのキャラを自作キャラで乗っ取ることができたので、記録しておく。
思った以上に手順が多くて大変やねんな…

最終的にこんな感じになる↓ 

youtu.be

長いから目次が必要

サムネ用

f:id:LunaNelis:20220412070259p:plain

 

キャラクターをインポートする

UE4の時と同じなので特にいうことなし!
お好みの設定でインポートしませう
自分はモーフを入れるよ

f:id:LunaNelis:20220412032818p:plain

マテリアルやテクスチャを設定して準備は完了

今回はTポーズのキャラクターだけど、
やることは結局Aポーズでも同じだから何の問題もないね

f:id:LunaNelis:20220412033626p:plain

アニメーションをリターゲットする①

今回のメイン。UE4から変わりすぎてんよー

前説明をすると、UE5のリターゲットは新しくできたIKリグというアセットを比べて
IKリターゲッタというアセットで配るという仕組みになってる。

とりあえず、IKリグを作る。

f:id:LunaNelis:20220412035027p:plainf:id:LunaNelis:20220412035124p:plain

できた。プレフィックスはIK_でいいのかな?
個人的にIKRな気がせんでもないけど、公式でIKだしええか…

f:id:LunaNelis:20220412035223p:plain

開くとこんな画面。
見慣れたようなそうじゃないような…
大事なのは右下の赤枠部分。

f:id:LunaNelis:20220412035650p:plain

まずは左上で骨盤にあたるボーンを選んで右クリック
リターゲッティングルートの設定を選択

f:id:LunaNelis:20220412040604p:plain

新しいチェーンを追加するボタンでチェーンを増やして、こんな感じで設定する。
(本当は指やらなんやら細かいチェーンを設定したほうがいいが、今回は省く)

f:id:LunaNelis:20220412041826p:plain

チェーンってなんやねんって思うけど、UE4のリターゲットマネージャの
ヒューマノイドリグを設定する項目を[開始ボーン~終了ボーン]という形でまとめて設定できるようにしたものだと考えれば大体あってるかも。
UE4でいうとこれね。ボーン1個1個設定しなくても良くなってすごく楽。しかも自由度UP

f:id:LunaNelis:20220412042213p:plain

 

とりあえず、これで下準備が完了。


アニメーションをリターゲットする②

コンテンツ>Characters>Mannequins>Rigs>RTG_Mannequinに
マネキンのIKリターゲッタがあるので開く。

f:id:LunaNelis:20220412044235p:plain

こんな画面。
とりあえずTargetIKRigAssetTargetPreviewAssetの二つをさっき作ったIKRigとメッシュに置き換え

f:id:LunaNelis:20220412044607p:plain

そして右下のアニメーション一覧から適当なアニメーションを選択すると
リターゲット後のアニメーションをプレビューできる…

が、お稲荷ちゃんはTポーズゆえにこうなる…そりゃそうよ

f:id:LunaNelis:20220412044928p:plain

というわけで、画面上部にあるポーズの編集ボタンを押す

f:id:LunaNelis:20220412045551p:plain

そうするとボーンが選択できるようになって、デフォルトポーズを編集することができる。

f:id:LunaNelis:20220412045705p:plain

あと、詳細にあるTargetActorPreviewの設定をいじると、キャラを重ねられるので
ボーンの位置合わせにちょうどいい感じの設定をしよう

f:id:LunaNelis:20220412045834p:plain

Offsetを0に設定してScaleを良い感じにあわせて
こうやって重ねれば、細かい調整も楽々。

f:id:LunaNelis:20220412050123p:plain

調整が終わったらポーズの編集ボタンを解除して
改めてアニメーションを確認…ヨシ!

f:id:LunaNelis:20220412050334p:plain

ここまで出来たら右下からアニメーションを適当にまとめて選択して、
選択したアニメーションをエクスポートボタンを押す

f:id:LunaNelis:20220412050426p:plain

出力したい場所を選んでリターゲット完了!

f:id:LunaNelis:20220412050539p:plain

ちなみに、IKリターゲッタの設定さえ済ませてしまえば、
従来のアニメーションアセットを右クリックから選ぶリターゲット方法も使える。
こっちでリターゲットする場合、プレフィックスサフィックスを設定できるので
そういう面ではこっちのほうが優秀
(上記で説明してた方法だと、_Retargetedというサフィックスが勝手について邪魔)

f:id:LunaNelis:20220412051010p:plain

あと、ブレンドスペースは個別にリターゲットしようね
IKリターゲッタにはないからやはり手動でやる必要がある。

f:id:LunaNelis:20220412051602p:plain

 

 

リターゲットはできたのに、アニメーションが動いてないって人は
ポーズ編集の解除をしてない可能性がある…注意されたし

ABPを作り、継承する

UE5ではABPを継承し、親のABPの処理をそのまま使えるという機能が追加されたので
いちいちABPをコピーして変数も同じものを作ってアニメーションも置き換えて…みたいな死ぬほど面倒な作業がなくなった。ありがたく使わせてもらおう。

とりあえずABPを作る

f:id:LunaNelis:20220412052349p:plain

開いたらクラス設定を選択し、親クラスをABP_Mannyに変更する
このABP_MannyがテンプレートのマネキンのABPの本体である

f:id:LunaNelis:20220412052652p:plain

これをすると、多分キャラが残念なことになる。
アシクビヲクジキマシター!!

f:id:LunaNelis:20220412052825p:plainしかもアニメーションもしない

とりあえず足首曲がってるのはおいといて、
これも新たに増えたアセットオーバーライドの機能を使って
各種アニメーションを差し替えていく。

滅茶苦茶わかりにくいが、右上のここにアセットオーバーライドというタブがある。
ここにさっきリターゲットしたアニメーションをそれぞれ差し替えていく

f:id:LunaNelis:20220412053047p:plain

Idleモーションが再生されるようになった。
足首はくじいたままだけどね
あと、AnimGraphに何もなくても動くのは気味が悪いけど問題なし

f:id:LunaNelis:20220412053239p:plainf:id:LunaNelis:20220412053426p:plain

そのあたりの説明は以前軽くしてるが、親のABPがすべてやってくれていて
そのアニメーション部分だけを差し替えるという動作のため。

【UE5】サードパーソンテンプレートを見るぞ!!! - ネリスさん備忘録


とりあえず、見てくれが悪いので
足首が曲がる原因である親のFootIk処理を外しておく

f:id:LunaNelis:20220412053945p:plainf:id:LunaNelis:20220412054002p:plain

ABP_MannyのAnimGraph処理をちょいちょいっとね。

BPを差し替える

UE4でリターゲットやBP_ThirdPersonCharacterの
BP差し替えしてた人ならなんてことないはずなので省略!

f:id:LunaNelis:20220412054146p:plain

FootIKを使わなくていいという人なら、この時点で作業終了。

今後ABPはABP_Mannyを修正することで子クラスへの変更とすることができる。
Mannyであることを気にする人は自作の親クラスを作ってもいいかも。

IKの設定をする

正直、これはモデルの作りにも依存するからあくまでお稲荷ちゃんでの話になるが
UE5云々というより、FootIKという仕組みそのものを勉強した方がいいかもしれない。
なんなら自分で実装したほうがいいかもしれないまであるからね。

後述するが、マネキンと同じボーン構造を持っていれば何もしなくてもIKが機能する

 

とりあえずやっていく。
さっき外したコントロールリグのノードをつなぎなおしておく。
こいつをダブルクリックすると、該当するコントロールリグが開く
CR_Mannequin_BasicFootIKってやつね

f:id:LunaNelis:20220412055117p:plain

中で何してるかの概要は以前説明したから省略。
一言でいえば至極普通のFootIk処理が書かれているだけ。

まずは見た目から。
右上のプレビューシーンから、PreviewMeshを差し替え
そのままだと、やはり足首をくじいている。

f:id:LunaNelis:20220412055355p:plainf:id:LunaNelis:20220412055439p:plain

左下のリグ階層はマネキンのものが入ったままなので、全部消す

f:id:LunaNelis:20220412055530p:plain

こんどはImportHierarchyというボタンが現れるので、自分のSkeletalMeshを入れる

f:id:LunaNelis:20220412055623p:plain

今回は必要最低限のボーンだけ残して他は消してしまう。
ボーンを消すたびに左上のモデル表示がグチャるが、
コンパイルすると治るから心配無用

こんな感じで腰から足先までのボーンだけでOK

f:id:LunaNelis:20220412055800p:plain

もともとあった処理のボーン名と同じ(Foot_LやFoot_R)ため
この時点ではこんな感じになる。

f:id:LunaNelis:20220412055925p:plain

ここまで来たら、足のボーン(かかとにあたる場所)を右クリックし
新しいボーンを生成。両足ともに作る
名前はIK_Foot_L、IK_Foot_Rなど。
(名前をこれに合わせると、ちょっとだけ楽ができる)

f:id:LunaNelis:20220412060118p:plain

同じようにしてRootから新しいボーンを作り、IK_Rootという名前にでもしておく
(これの名前はなんでもOK)

f:id:LunaNelis:20220412060333p:plain

そのあと、IK_Foot_L,RをドラッグしてIK_Rootの子に設定する

じゃあ「最初からRootを先に作ってその下にIK_Foot_L,R作ればいいじゃん?」って言われそうだけど
Footのボーンの位置が大事だから必要な回り道なのだ

f:id:LunaNelis:20220412060420p:plain

一応この時点でIKとしては機能するが、アニメーションがおかしくなる
足がね、動かないの。腕だけ振ってる変な感じに。

f:id:LunaNelis:20220412060524p:plainf:id:LunaNelis:20220412060613p:plain

理由はざっくりとだけど、作ったIK_foot_L,Rが足に追従しておらず
常に地面に足を合わせようとしているせい。くっついちゃってるのね。
マネキンはもともとのモデルがIK用のボーンを所有しており、それが足に追従しているボーンのため何もしなくても動いているが
素人が作ったお稲荷ちゃんがそんなド親切なボーン設計になっているわけもなく。

 

というわけで、そういう処理を追記する必要がある。

作成したIK用ボーンを足のボーン位置に合わせる処理を追加する

f:id:LunaNelis:20220412061001p:plain

これにてFootIK設定は完了。

動かしてみれば動いてくれるはず。

youtu.be

あと、親のABP_Mannyでワーニングが出るようになるけど気にするな!
気になるならFootIK用のボーン名をちょっと変えようね
(エラー内容はモデルとコントロールリグでボーン名重複しとるからなんとかしてくれってこと)

f:id:LunaNelis:20220412063307p:plain

 

 

あとがき

ここまででマネキンを自作キャラに置き換えて動かすことができているはず
FootIKに関してはモデルの作り次第では何もしなくても動いてくれるし。

ただ、置き換えるにあたってFootIKの処理のアセット名はマネキンのままだし
ABPの親の名前はMannyだしで元のアセットの匂いが強いので
それがアレだという人は名前を変えたり1から作ったり色々いるかも。

一通り俯瞰してみると非常に便利な作りになったけど、
反面適当に使いたい人にとってはスタートアップが煩雑に思えるから難しいところね。

ともあれ、これでUE4の時みたいに自作キャラを走り回らせられるから
キャラで困ることは無くなった!