UE4:アサルトライフルのブループリントの実装について
どうもぶっさんです。
最近少しづつTPSのゲームを作ってまして、まだアニメーションブループリントやアサルトライフルを作成しただけなのですが、今はこのような状態です。
で、今回アサルトライフルの実装についてまとめようと思います
とてもお気軽に出来るので是非
アサルトライフルのブループリントの実装しよう!
使用するもの
FirstPersonのテンプレート
VFX Impacts(有料アセット)
仕様
左クリックすると連射が始まる
FirstPersonCharacterのBluePrint側の実装
FirstPersonCharacterのBluePrintを開きます
すると以下のようになってると思います。
まずTouchイベントの部分と[SpawnActor]のノードを削除します。
そしてinput Action FireのPressedにSet Timerノード、Releasedに[Clear Timer]ノードを設置します。
Set Timerについては公式の動画を(Epic japanのロブさんの動画)
次にカスタムイベントを作成します。今回は[Rifle]としました。そしてMontage Play残しておいたノードとPlaySoundatLocationノードを繋げます。
Set Timerの方はFunction Nameに[Rifle]、Timerに0.15、Loopingにチェックを付けます。ClearTimerのほうも同様にFunction Nameに[Rifle]を入れます。
関数の作成
関数を作成します。
今回は名前を[Assalt Rifle]としました。
次にLine Trace by Channelノードを繋げます。
次にStartとEndに数値を入れます。
これでカメラの位置からカメラから5000かけた位置になるようにします。
デバッグモードにすると
このようになります(以前の記事からの画像の抜粋)
次に、Return Valueからブランチを出し、Out HitからBreak Hit Resultを出します。
Spawn Emitterノードを出します。このノードはエフェクトを出すノードです。
今回は有料アセットのVFX Effectを使用します。今回はコンクリートの銃痕のエフェクトを出すようにします。
ノードのLocationをBreakHitResultのLocationに繋げ、RotationをBreak Hit ResultのNormalからRotation from Xvectorノードを出し繋げます。
最後にEvent Grathに戻り作成した関数[Assalt Rifle]を出し繋げます。
これで完成です。
無駄に画像は多くしてしまいましたが、比較的楽に作れていいですね。
全体図は以下のとおりです。
イベントグラフ
関数[AssaltRifle]
以上です。