UE4 FPSテンプレートの銃を連射してみる
個人的な話になりますが、私は単発銃より
高レートで連射できる銃の方が好みです。
First Personテンプレートの銃...単発じゃないか!
というわけで、今回はあまり手間をかけずに
FPSテンプレートの銃を連射できるようにしたいと思います。
準備
今回はUE4 4.13.3を使用します。
適当なFPSテンプレートを作成してください。
処理を書く
First Person Character BPを開きます。
銃弾を生成する部分の全体図です。
コメントを消して、Touch関連のノードを削除していますが、
95%くらいテンプレートのままです。
変更した箇所を順番に見ていきます。
変数を一つ作成します。
銃のトリガーを引き継づけているかのフラグです。
InputAction Fireのすぐ隣にこのような処理を組みます。
一度Pressedに入るとReleasedに入るまで、
フラグをTrueのままにしておく処理です。
Branchの後には、テンプレートに最初から書かれている
Montage Play→Spawn Actor→Play Sound At Locationと
流れています。
Play Sound At LocationのあとにDelayを書きます。
このDelayは連射間隔を制御するものです。
0に近いほど高速で連射します。
Delayを最初の方に書いたBranchと繋げ
処理は完了です。
次に弾の方も少し変更したいと思います。
First Person Projectileを開いてください。
デフォルトでは弾が大きいので、
MeshのSphereをx,y,zすべて、
0.05にしました。
ブループリントはテンプレートに書かれている
Event HitとDestory Actor以外を削除し、
このように書いてください。
弾が何かに当たると当たった物のログを表示し、
消滅するという処理です。
以上で完成です。
挙動を見てみる
うまくいけばこのように、
少しの処理で連射できる銃を作成することができます。
※Meshの描画がおかしいのは気にしないでください。