キャラクターの切り替え
第一回 https://qiita.com/KLaboratory/items/ab938c45c2c7106b65f6 第二回 https://qiita.com/KLaboratory/items/fecb657668215e48660d から続きます。今回はMaria JJ Ong とMaria W/Prop JJの切り替えについて。キャラクターの切り替えについては、以前に作りましたこの記事を参考にしてください。 https://qiita.com/KLaboratory/items/59538687594e2ffe5d2a https://qiita.com/KLaboratory/items/af3c63d7db4a0ccaaff7ゲームインスタンス
変数をやり取りするためにゲームインスタンスを作ります。プロジェクト設定のマップ&モードの一番下のゲームインスタンスに登録します。  今回はbool変数を一つだけ登録します。これはキャラクターが通常系か進化系かを判断するものとします。通常系がfalse、進化系をtrueとします。最初は通常系なので初期値はfalseにします。 切り替えコマンドの登録
プロジェクト設定のインプットのActionMappingsにキャラクターを切り替える(進化させる)コマンドを登録します。 コントローラーBP
コントローラーBPに戻ります。先ほど登録した進化コマンドを呼び出します。現在のキャラクターの位置を取得して、Destroyします。ゲームインスタンスについては次に出てきます。  ゲームインスタンスの変数を取得し、trueであれば進化系になっているのでfalseに戻し、falseであれば進化系になるのでtrueにします。  先程取得した位置にキャラクターをspawnさせ、コントローラーをpossessします。  コマンドを入力するたびにMaria JJ Ong とMaria W/Prop JJが入れ替われば成功です。攻撃コマンド
プロジェクト設定のインプットに攻撃コマンドを追加します。 コントローラーBP
コントローラーBPに戻ります。アタックのコマンドを呼び出します。コマンド実行の間、他の動きを止めます。delayの時間は、アニメーションが再生される時間です。  アニメーションBP
アニメーションBPに移ります。まずイベントグラフにAttack用の処理を追加します。  コントローラーから、Attack変数の状態を受け取り、アニメーションBPの変数にセットします。続いてAnimGraphです。  Attackステートは、歩きながら、あるいはIdleから発せられますが、終わったときは必ずIdleに戻します。AttackのアニメーションはMaria JJ OngのPunchingをわりあてます。  トランジションルールはAttackに行くときはそのまま、Attackから戻るときはNotを割り当てます。   実行すると、パンチをしますがMaria W/Prop JJにチェンジしても剣を持ったままパンチをします。これをMaria JJ Ongのときはパンチ、Maria W/Prop JJになると剣で切ると分けたいと思います。これはとても簡単ですが一つ仕掛けが必要です。アニメーションの切り替え
イベントグラフに戻ります。イベントグラフにbool変数を一つ加えます。これは今が通常系か進化系かを判断するものです。これをゲームインスタンスから持ってきます。  これで今、通常系か進化系かがわかります。続いてAnimGraphのIdleステートに入ります。Great_sward_Idle1をつなげたいのですが、Output Animation Poseは一つのアニメーションしかつなげません。  そこでBlend Poses by boolを使います。true(進化系)のときはGreat_sward_Idle1になり、falseのときは通常のIdleになります。   Attackステートも同じです。  なお、Blend Poses by boolの詳細で、「Blend Time」のチェックは外しておいてください。  実行すると、IdleとAttackの動きが違っていることがわかります。ただ、Attackの時間が違うので、パンチが4回出たりします。ここはコントローラーBPで調整をしてみるといいと思います。こうすることで、アニメーションBPを一つにして、手間の節約になりました。またご覧いただきますとわかりますが、コントローラー共通で使えます。そして、キャラクターのBPには何も書いていません。複数キャラクターを使い分けるときはこの方法も悪くないと思います。
今回は剣を装備しただけなので、一つのキャラクターでソケットをつけて、そこで装備したり非装備にしたりとすることもできます。ただ、メッシュ(見た目)まで変わる場合はこの方法の方がやりやすいかと思います。