AIに攻撃アニメーションをさせる方法と注意点!

今回は、

 

AIに攻撃アニメーションをさせる方法!

 

です!

 

AIに関して基本的な知識(AIを為に必要なものとか)がある程度わかっているという前提で話します。

 

以下のような処理を作ったとします。

 

BT(ビヘイビアツリー)

f:id:Free_Gamer:20180612183107p:plain

「オブサーバーを中止」・・・プレイヤーを見つけたら、右側のパトロール行動を即座に中止し、プレイヤーの追跡に切り替えたいので「Lower Priority」にしてある。

 

攻撃タスク「NearAttack_Task」

f:id:Free_Gamer:20180612183651p:plain

敵キャラ「Enemy」のBPにあるカスタムイベント「NearAttack」をここで呼び出しています。

呼び出したら「成功」です。

 

敵キャラBP

f:id:Free_Gamer:20180612185603p:plain

モンタージュを再生するだけです。

 

最終的にはこうなります。

youtu.be

しっかり近くまできて攻撃アニメーションをしてくれましたね!

 

さて!ここで、アドバイスです!

f:id:Free_Gamer:20180612190233p:plain

攻撃タスクの後に、「Wait」がありますね。

これがある理由は何だと思いますか??

例えば、Waitを使わなかった場合どうなるか?

f:id:Free_Gamer:20180612191403p:plain

こうなります。

youtu.be

見て分かったかと思いますが、

 

「MoveTo」と攻撃タスクが、繰り返しループしている

 

というのが分かったかと思います。

 

プレイヤーのところまで行く

攻撃する

 

という処理なので、

プレイヤーのところにいれば、何度も攻撃タスクが呼ばれてしまうわけです!(個人の解釈)

ループしているので、アニメーションの始まり部分しか再生されませんでした。

 

なので、繰り返さないために「Wait」タスクを使ったのです!

 

「Wait」タスクに指定する秒数は、再生するアニメーションの長さによって変えればいいと思います。

例えば、攻撃アニメーションの長さが「3秒」の場合は、「Wait」タスクに3秒の時間指定をしてあげればいいと思います。

 

以上!AIによる攻撃アニメーションの再生方法でした!

 

それではまた!^^ノシ