I From Japan Staff Blog

I From Japan の開発者ブログです

UE4・アクションゲームの作り方!Part4

 

blog.i-fromjapan.com

 

こんばんは

 

ヨシザエモンです。

 

 

昨日は張り切って書いた成果もあったのか

f:id:ifromjapan:20161007193212p:plain

UE4 アクションゲーム 作り方で検索をかけるとこんな所まできています!

 

 

 

びっくりしましたよ!ほんとに!

 

 

それでは本日は

UE4でコンボ二撃目以降を繋げる方法

です!

 

昨日の記事で一撃目のAnimMontageを再生する所までいったのでその次から説明していきます。

 

 ↓昨日の記事

blog.i-fromjapan.com

 

 

昨日のAnimMontageの中にあったChainというアニメーション通知を使って次のコンボに繋げて行きます。

 

 

実は昨日のマクロの中身で

"When Chain"のBoolで分岐した後にキャラクターのIs Attackingにチェックを入れていますが、その間にノードが存在するのです。

 

f:id:ifromjapan:20161007194315p:plain

 

 

 

下のBranchこれが二撃目以降のAnimMontageを再生するマクロかどうかを判定しているBool "When Chain"を判断しているモノです。

 

昨日の記事ではその上の"Is Attacking on Weapon"を判断するBranchは飛ばして説明したので、今回はそれに触れていきます。

 

 

この"Is Attacking on Weapon"はキャラクターの"Is Attacking"をコピーし続けている変数です。

 

ここの仕組みは

f:id:ifromjapan:20161007195640p:plain

 

この様になっています。

一撃目を再生している間にもう一度ボタンが押されると二撃目を行う準備のBoolをセットします。

ブループリントで見るとこの様になっています。

 

f:id:ifromjapan:20161007200018p:plain

 

f:id:ifromjapan:20161007200035p:plain

 

 

下がマクロの中身です。

 

僕の場合はスラッシュゲームのように同じボタンで連続攻撃をさせたくなかったので

前回の攻撃ボタンが格納されているAttack Buttonと今回のボタンが異なる場合のみ二撃目の準備を行っていますが

同じボタンで連続攻撃をさせても良い場合はそのままつなげてください。

 

これで、二撃目の攻撃の準備が整ったと同時に二撃目の攻撃はどのボタンで行うのかという事が更に変数AttackButtonに上書きされました。

 

ここまでは、あくまでも二撃目の攻撃の準備のみなので

二撃目の攻撃が行われるまでは何回でもこの動作を繰り返します。

(X→Y→Xと、連続で押した場合にXの攻撃が連続で行われるのを防ぐにはもう一つ進行中のAttackButton用の変数を作ってあげてください)

 

 

 

それでは実際どこで二撃目が行われているのかを説明していきます。

 

 

それは、一撃目のAnimMontageに存在していたアニメーション通知Chainからの受け取ったイベントから行います。

 

Chainを受け取ったイベントはこちらになります。

 

f:id:ifromjapan:20161007201022p:plain

 

Chainの通知を受け取った時点で先程のChain Combo BoolがTrueになっていれば次に進みます。

 

次のところではこの時点でのコンボの回数をチェックしています

 

僕の場合は五撃以上続かせたくないだけなので>4か判断しているだけですが、

スラッシュゲームのように攻撃の回数によって違う攻撃を再生したい場合はSwitch On Intで分岐させてください。

 

そして次のイベントを呼び出しています

(これはオンライン用にAnimMontageを呼び出すときは”全てで実行”させているだけなのでオフラインの方はそのまま繋いでください)

 

 

f:id:ifromjapan:20161007201711p:plain

 

 

呼び出されるイベントはこちらになります。

さきほどセットしていたAttackButtonの種類によって分岐させます。

ここで呼び出しているのは、一撃目の時に呼び出したマクロと同じマクロです。

 

二撃目以降は呼び出す時に"When Chain"にチェックマークを入れます。

 

 

 

するとどうでしょうか

f:id:ifromjapan:20161007202235p:plain

 

 

このBranchは"When Chain"がTrueなのでまっすぐにAnimMontageを再生しに行ってくれます。

 

この状態でまたボタンを押すと、次のAttackButtonがセットされてまたChainが呼び出されて....という風にコンボが続いて行きます。

 

 

 

少し、説明が下手くそなのでわかりにくくてすみません。

 

コメントやTwitterでリプ頂ければもう少し細かい説明をします。

 

 

明日からは本格的にSteamの実装に入ろうかなと思っています。

思っているだけなのでまだわからないですが...

 

 

それでは!

 

blog.i-fromjapan.com