【UE5】サードパーソンテンプレートのBPを乗っ取るまで【備忘録】
サードパーソンテンプレートのキャラを自作キャラで乗っ取ることができたので、記録しておく。
思った以上に手順が多くて大変やねんな…
長いから目次が必要
サムネ用
キャラクターをインポートする
UE4の時と同じなので特にいうことなし!
お好みの設定でインポートしませう
自分はモーフを入れるよ
マテリアルやテクスチャを設定して準備は完了
今回はTポーズのキャラクターだけど、
やることは結局Aポーズでも同じだから何の問題もないね
アニメーションをリターゲットする①
今回のメイン。UE4から変わりすぎてんよー
前説明をすると、UE5のリターゲットは新しくできたIKリグというアセットを比べて
IKリターゲッタというアセットで配るという仕組みになってる。
とりあえず、IKリグを作る。
できた。プレフィックスはIK_でいいのかな?
個人的にIKRな気がせんでもないけど、公式でIKだしええか…
開くとこんな画面。
見慣れたようなそうじゃないような…
大事なのは右下の赤枠部分。
まずは左上で骨盤にあたるボーンを選んで右クリック
リターゲッティングルートの設定を選択
新しいチェーンを追加するボタンでチェーンを増やして、こんな感じで設定する。
(本当は指やらなんやら細かいチェーンを設定したほうがいいが、今回は省く)
チェーンってなんやねんって思うけど、UE4のリターゲットマネージャの
ヒューマノイドリグを設定する項目を[開始ボーン~終了ボーン]という形でまとめて設定できるようにしたものだと考えれば大体あってるかも。
↓UE4でいうとこれね。ボーン1個1個設定しなくても良くなってすごく楽。しかも自由度UP
とりあえず、これで下準備が完了。
アニメーションをリターゲットする②
コンテンツ>Characters>Mannequins>Rigs>RTG_Mannequinに
マネキンのIKリターゲッタがあるので開く。
こんな画面。
とりあえずTargetIKRigAssetとTargetPreviewAssetの二つをさっき作ったIKRigとメッシュに置き換え
そして右下のアニメーション一覧から適当なアニメーションを選択すると
リターゲット後のアニメーションをプレビューできる…
が、お稲荷ちゃんはTポーズゆえにこうなる…そりゃそうよ
というわけで、画面上部にあるポーズの編集ボタンを押す
そうするとボーンが選択できるようになって、デフォルトポーズを編集することができる。
あと、詳細にあるTargetActorPreviewの設定をいじると、キャラを重ねられるので
ボーンの位置合わせにちょうどいい感じの設定をしよう
Offsetを0に設定してScaleを良い感じにあわせて
こうやって重ねれば、細かい調整も楽々。
調整が終わったらポーズの編集ボタンを解除して
改めてアニメーションを確認…ヨシ!
ここまで出来たら右下からアニメーションを適当にまとめて選択して、
選択したアニメーションをエクスポートボタンを押す
出力したい場所を選んでリターゲット完了!
ちなみに、IKリターゲッタの設定さえ済ませてしまえば、
従来のアニメーションアセットを右クリックから選ぶリターゲット方法も使える。
こっちでリターゲットする場合、プレフィックスとサフィックスを設定できるので
そういう面ではこっちのほうが優秀
(上記で説明してた方法だと、_Retargetedというサフィックスが勝手について邪魔)
あと、ブレンドスペースは個別にリターゲットしようね
IKリターゲッタにはないからやはり手動でやる必要がある。
リターゲットはできたのに、アニメーションが動いてないって人は
ポーズ編集の解除をしてない可能性がある…注意されたし
ABPを作り、継承する
UE5ではABPを継承し、親のABPの処理をそのまま使えるという機能が追加されたので
いちいちABPをコピーして変数も同じものを作ってアニメーションも置き換えて…みたいな死ぬほど面倒な作業がなくなった。ありがたく使わせてもらおう。
とりあえずABPを作る
開いたらクラス設定を選択し、親クラスをABP_Mannyに変更する
このABP_MannyがテンプレートのマネキンのABPの本体である
これをすると、多分キャラが残念なことになる。
アシクビヲクジキマシター!!
しかもアニメーションもしない
とりあえず足首曲がってるのはおいといて、
これも新たに増えたアセットオーバーライドの機能を使って
各種アニメーションを差し替えていく。
滅茶苦茶わかりにくいが、右上のここにアセットオーバーライドというタブがある。
ここにさっきリターゲットしたアニメーションをそれぞれ差し替えていく
Idleモーションが再生されるようになった。
足首はくじいたままだけどね
あと、AnimGraphに何もなくても動くのは気味が悪いけど問題なし
そのあたりの説明は以前軽くしてるが、親のABPがすべてやってくれていて
そのアニメーション部分だけを差し替えるという動作のため。
【UE5】サードパーソンテンプレートを見るぞ!!! - ネリスさん備忘録
とりあえず、見てくれが悪いので
足首が曲がる原因である親のFootIk処理を外しておく
ABP_MannyのAnimGraph処理をちょいちょいっとね。
BPを差し替える
UE4でリターゲットやBP_ThirdPersonCharacterの
BP差し替えしてた人ならなんてことないはずなので省略!
FootIKを使わなくていいという人なら、この時点で作業終了。
今後ABPはABP_Mannyを修正することで子クラスへの変更とすることができる。
Mannyであることを気にする人は自作の親クラスを作ってもいいかも。
IKの設定をする
正直、これはモデルの作りにも依存するからあくまでお稲荷ちゃんでの話になるが
UE5云々というより、FootIKという仕組みそのものを勉強した方がいいかもしれない。
なんなら自分で実装したほうがいいかもしれないまであるからね。
後述するが、マネキンと同じボーン構造を持っていれば何もしなくてもIKが機能する
とりあえずやっていく。
さっき外したコントロールリグのノードをつなぎなおしておく。
こいつをダブルクリックすると、該当するコントロールリグが開く
CR_Mannequin_BasicFootIKってやつね
中で何してるかの概要は以前説明したから省略。
一言でいえば至極普通のFootIk処理が書かれているだけ。
まずは見た目から。
右上のプレビューシーンから、PreviewMeshを差し替え。
そのままだと、やはり足首をくじいている。
左下のリグ階層はマネキンのものが入ったままなので、全部消す
こんどはImportHierarchyというボタンが現れるので、自分のSkeletalMeshを入れる
今回は必要最低限のボーンだけ残して他は消してしまう。
ボーンを消すたびに左上のモデル表示がグチャるが、
コンパイルすると治るから心配無用
こんな感じで腰から足先までのボーンだけでOK
もともとあった処理のボーン名と同じ(Foot_LやFoot_R)ため
この時点ではこんな感じになる。
ここまで来たら、足のボーン(かかとにあたる場所)を右クリックし
新しいボーンを生成。両足ともに作る
名前はIK_Foot_L、IK_Foot_Rなど。
(名前をこれに合わせると、ちょっとだけ楽ができる)
同じようにしてRootから新しいボーンを作り、IK_Rootという名前にでもしておく
(これの名前はなんでもOK)
そのあと、IK_Foot_L,RをドラッグしてIK_Rootの子に設定する
じゃあ「最初からRootを先に作ってその下にIK_Foot_L,R作ればいいじゃん?」って言われそうだけど
Footのボーンの位置が大事だから必要な回り道なのだ
一応この時点でIKとしては機能するが、アニメーションがおかしくなる
足がね、動かないの。腕だけ振ってる変な感じに。
理由はざっくりとだけど、作ったIK_foot_L,Rが足に追従しておらず
常に地面に足を合わせようとしているせい。くっついちゃってるのね。
マネキンはもともとのモデルがIK用のボーンを所有しており、それが足に追従しているボーンのため何もしなくても動いているが
素人が作ったお稲荷ちゃんがそんなド親切なボーン設計になっているわけもなく。
というわけで、そういう処理を追記する必要がある。
作成したIK用ボーンを足のボーン位置に合わせる処理を追加する
これにてFootIK設定は完了。
動かしてみれば動いてくれるはず。
あと、親のABP_Mannyでワーニングが出るようになるけど気にするな!
気になるならFootIK用のボーン名をちょっと変えようね
(エラー内容はモデルとコントロールリグでボーン名重複しとるからなんとかしてくれってこと)
あとがき
ここまででマネキンを自作キャラに置き換えて動かすことができているはず
FootIKに関してはモデルの作り次第では何もしなくても動いてくれるし。
ただ、置き換えるにあたってFootIKの処理のアセット名はマネキンのままだし
ABPの親の名前はMannyだしで元のアセットの匂いが強いので
それがアレだという人は名前を変えたり1から作ったり色々いるかも。
一通り俯瞰してみると非常に便利な作りになったけど、
反面適当に使いたい人にとってはスタートアップが煩雑に思えるから難しいところね。
ともあれ、これでUE4の時みたいに自作キャラを走り回らせられるから
キャラで困ることは無くなった!