AIに攻撃アニメーションをさせる方法と注意点!
今回は、
AIに攻撃アニメーションをさせる方法!
です!
AIに関して基本的な知識(AIを為に必要なものとか)がある程度わかっているという前提で話します。
以下のような処理を作ったとします。
BT(ビヘイビアツリー)
「オブサーバーを中止」・・・プレイヤーを見つけたら、右側のパトロール行動を即座に中止し、プレイヤーの追跡に切り替えたいので「Lower Priority」にしてある。
攻撃タスク「NearAttack_Task」
敵キャラ「Enemy」のBPにあるカスタムイベント「NearAttack」をここで呼び出しています。
呼び出したら「成功」です。
敵キャラBP
モンタージュを再生するだけです。
最終的にはこうなります。
しっかり近くまできて攻撃アニメーションをしてくれましたね!
さて!ここで、アドバイスです!
攻撃タスクの後に、「Wait」がありますね。
これがある理由は何だと思いますか??
例えば、Waitを使わなかった場合どうなるか?
こうなります。
見て分かったかと思いますが、
「MoveTo」と攻撃タスクが、繰り返しループしている
というのが分かったかと思います。
プレイヤーのところまで行く
↓
攻撃する
という処理なので、
プレイヤーのところにいれば、何度も攻撃タスクが呼ばれてしまうわけです!(個人の解釈)
ループしているので、アニメーションの始まり部分しか再生されませんでした。
なので、繰り返さないために「Wait」タスクを使ったのです!
「Wait」タスクに指定する秒数は、再生するアニメーションの長さによって変えればいいと思います。
例えば、攻撃アニメーションの長さが「3秒」の場合は、「Wait」タスクに3秒の時間指定をしてあげればいいと思います。
以上!AIによる攻撃アニメーションの再生方法でした!
それではまた!^^ノシ