読者です 読者をやめる 読者になる 読者になる

UE4初心者が頑張ってるブログ

Unreal Engine4を使用した開発メモ、及びそれに関連することについて不定期に書いています。

UE4 FPSテンプレートの銃を連射してみる

個人的な話になりますが、私は単発銃より

高レートで連射できる銃の方が好みです。

 

First Personテンプレートの銃...単発じゃないか!

 

というわけで、今回はあまり手間をかけずに

FPSテンプレートの銃を連射できるようにしたいと思います。

 

準備

今回はUE4 4.13.3を使用します。

f:id:MozPaca:20170128012413p:plain

 

適当なFPSテンプレートを作成してください。

f:id:MozPaca:20170128012508p:plain

 

処理を書く

First Person Character BPを開きます。

f:id:MozPaca:20170128012814p:plain

 

銃弾を生成する部分の全体図です。

f:id:MozPaca:20170128012917p:plain

コメントを消して、Touch関連のノードを削除していますが、

95%くらいテンプレートのままです。

 

変更した箇所を順番に見ていきます。

 

変数を一つ作成します。

f:id:MozPaca:20170128013201p:plain

銃のトリガーを引き継づけているかのフラグです。

 

InputAction Fireのすぐ隣にこのような処理を組みます。

一度Pressedに入るとReleasedに入るまで、

フラグをTrueのままにしておく処理です。

f:id:MozPaca:20170128013310p:plain

 

Branchの後には、テンプレートに最初から書かれている

Montage Play→Spawn Actor→Play Sound At Locationと

流れています。

 

Play Sound At LocationのあとにDelayを書きます。

このDelayは連射間隔を制御するものです。

0に近いほど高速で連射します。

f:id:MozPaca:20170128013612p:plain

Delayを最初の方に書いたBranchと繋げ

処理は完了です。

 

次に弾の方も少し変更したいと思います。

First Person Projectileを開いてください。

f:id:MozPaca:20170128013903p:plain

デフォルトでは弾が大きいので、

MeshのSphereをx,y,zすべて、

0.05にしました。

 

ブループリントはテンプレートに書かれている

Event HitとDestory Actor以外を削除し、

このように書いてください。

f:id:MozPaca:20170128014018p:plain

弾が何かに当たると当たった物のログを表示し、

消滅するという処理です。

 

以上で完成です。

 

挙動を見てみる

うまくいけばこのように、

少しの処理で連射できる銃を作成することができます。

www.youtube.com

※Meshの描画がおかしいのは気にしないでください。