[UE5] Lyra改造計画③  Compatible Skeltonを使い、超速で買ってきたアセットをLyraで使用する

Post 2023年4月30日日曜日

GASでオンラインシリーズ Lyra改造 UE5 Unreal Engine オンラインゲーム

前回の続き。

お約束
この記事作成にあたって使用した主なUnreal Engine バージョンUE 5.1.1

本日のゴール

買ってきたUE4グレイマン互換のアセットをLyaで使えるようにする


Compatible Skeltonという神機能

UE5から追加された上記の神機能を使っていきます。互換性があるスケルトンを使っていれば、リターゲットをしなくてもアニメーションを流用できます。


手順

①まず買ってきたアセットのスケルタルメッシュを開きます。

②Skeltonを押した状態で、ウィンドウ→アセット詳細


③+ボタンを押して、SK_Mannequin_Skeltonを追加


④スケルトンを保存して、一度ウインドウを閉じます(閉じないと変更が保存されないらしい)

⑤「B_TinplateUE4」を探し、複製します

⑥複製したファイルを開き、下記画像のようにMannequinをクリックした状態で、Skeltal Meshに購入したアセットをセットし、Anim BPに「ABP_UE4_Mannequin_Retarget」を指定します。


⑦ビューポートで「Sphere」が顔に被ってしまっているので下の方に移動します。これがチームの色に染まる感じです。※これがないとどっちのチームなのか分からない

※この時点では皆さんは多分Skeltal Meshの表示はグレイマンのままだと思いますが、気にしないでください


⑧コンパイルして保存しておきます。

⑨「B_PickRandomCharacter」を開きます

⑩Selectノードを外して、先程作った上記のブループリントを直接指定します。



これでプレイすれば、敵キャラも自キャラも全部新しく作ったキャラクターになると思います。やったぜ。


動きに違和感がある場合

おかずさんの講演を参考に…

動きに違和感がある場合には、Retarget Optionをいじってみましょう。

スケルトンを選択した状態で、歯車からリターゲットオプションを表示します


体外はRootを「Animation Scaled」に変更すると直ることがおおいです。直らない場合にはRoot以外も適用する、他のモードをやってみるなど色々試してみましょう。

どうしてもだめな場合は、IK Retargetするしかないです。


マテリアルが適用されないじゃん

これで一応、プレイ自体はできるようになったんですが、

キャラが死ぬときに発生する塵のエフェクトが出なかったり、チームカラーが分からなかったりと不完全です。

まず「M_TeamColorBasic」を開いて、中のノードをコピーして、キャラクターのマテリアルに雑に貼り付けます。



キャラクター側のマテリアルで、
Outputのノードをクリックした状態でブレンドモードをMaskedに変更します。


それぞれノードを繋ぎます。


TeamColor をキャラクターに反映する方法については、正直キャラクター次第です。
一番楽なのは、服が個別のマテリアルで作られている場合です。その場合は雑にベースカラーにAddするだけでいい感じになることがあります。
ただ、そうでない場合は試行錯誤しながら反映します。下記はその一例です。



ちょっと死亡時のエフェクト時間を長くする

デフォルトのManny, Quin以外を使うときには、死亡時のエフェクトが短すぎるように思えることがあります。

なので、「GCNL_Death」を編集します。これは死亡時のGameplay Cueです。

Kill Timelineを0.1倍するとちょっと長めになります。



Spawnについてもちょっと修正しておきましょう。「GCNL_Spawning」をちょっと2倍の速さにしておきます。



今回は以上です。C++がなくてよかった。