第3回「ACの動きを目指す―ブーストON/OFFもどき編―」

UE4でアーマードコアVのブーストON/OFFもどきができたので作り方メモ。

<注意>

ちなみにベースはUE4の「Third Person Template」を使用。

また前回記事の箇所にチェックを入れてることを前提にしてます

ここが違っているとキャラの位置の取得とかの関係で同じBPを組んでも違う結果になってしまうので注意(特に次回のハイブーストもどきづくりでは関係してきます)

まずはブーストON/OFFのBP全体画像

ブーストモードの切り替えtickが流れるとブーストON時のパラメーターとOFF時のパラメーターを交互に上書きしていく流れになっています。といってもこれだけだと何が何だかなので以下に詳細を記載

①ブーストモードの切り替え

これはもう画像の通り。ゲーム開始時はOFFのパラメーターがキャラクターに上書きされ、ボタンを押すとONのパラメーターが上書きされる。それを繰り返す流れになってます

②ブーストON時のパラメーター

1.パラメーターの上書き

まずブーストONにtickが流れると下記のCharacterMovementを書き換える

参考:【UE4】UCharacterMovementComponentのAPIリファレンスを翻訳してみる

ここで書き換えるパラメーターは下記の3つ

「MaxWalkSpeed」

歩行時の最高速度。ここではブーストON時の移動速度になる。

「GroundFriction」

地面の摩擦の強さ。地面上でのすべりやすさ。本家の動きを見ると慣性でスティックを放しても進行方向に少し滑っているように見えたので、ここで数値を低くしてキャラクターを少し滑るようにしている。

「AirControl」

空中での移動のしやすさ。0~1の範囲で決められ、0にすると空中での制御が全く効かなくなる。1にすると地上と同じぐらい制御できるようになる。

2.空中にいるかどうかの判定

まずキャラクターが空中にいるかいないかを「Is Falling」で判定。それをしておかないと画像のBPでは坂を下っていても上向きの力がかかってしまいます

3.落下中にホバリング

次にキャラクターが落下中かどうかを判定。これはどうすればいいのか分からずUE4 answerhubで質問したら回答をいただけました

参考:UE4 answerhub 落下中のキャラクターに上向きの力を加えて落下をゆっくりにしたい

要はキャラクターの速度ベクトルが-(下に下がる)になっているかを判定することで対応しました

あとはその時にターゲットの速度に上向きの力(ホバリングの浮力の力)をくわえるようなBPにしてあります

③ブーストOFF時のパラメーター

こちらはtickが流れたときにブーストONで上書きされたパラメーターをもとの値で上書きするというBPになってます。なのでON時のパラメーターと同じ項目をいじりましょう。

以上でACVのブーストON/OFFもどきを実装できました。細かい挙動は本家と違うけど、そこらへんは調整してお好みの挙動にしましょう。今はまだグレーボクシングを作っている段階なのでそこまでの調整は不要かと思ってます。本家まんま再現する気もないですし、とりあえず一旦完成ということで。

というかもっと改善する方法あると思うのですが今はこれが精いっぱい。もっとこうした方がいいよとアドバイスありましたら、メッセージか何かいただけると感謝感謝でございます。

次回は「ACの動きを目指す―ハイブーストもどき編―」です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です