unity Behavior Designer使い方 TacticalPack

どうもききです。

今回はunityのAIアセットBehavior Designerに関する記事を書きたいと思います。

今回はBehavior Designerの拡張アセットのTacticalPackについて解説したいと思います。

Behavior Designerの拡張アセットには

MovementPack(移動)

TacticalPack(戦術)

FormationPack(フォーメーション)

と三つに分かれておりTacticalPackは攻撃系のAIを簡単に作成するためのパックになっています。

MovementPackはあらかじめ用意されたタスクを使用すれば簡単に使えましたがTacticalPackはちょっとややこしいのです。

基本的な使い方について

TacticalPackはあらゆる攻撃の処理を汎用化させるためのものだそうです。

例えば銃弾を撃って攻撃したりまたは剣で斬って攻撃したりなど攻撃の処理はゲームによって様々で攻撃やダメージの判定なども全然違ってきます。

それらをAttackタスク一つで終わらせるというのが目的になります。

MovementPackはseek(追跡)タスクとか用意された便利タスクを追加するだけで簡単に使えますがTacticalPackの場合はそうもいきません。

Attack(攻撃)タスクを追加しただけで勝手に攻撃アニメーションや銃弾を撃ってくれるはずがないので攻撃方法を指定する必要がありますね。

クラスの継承する

TacticalPackのAttackタスクでキャラクターに攻撃させるためにはまず別で攻撃に関するスクリプトを用意してIAttackAgentを継承する必要があります。

そこから継承されたいくつかのメソッドを使用します。

public float AttackDistance()
攻撃範囲を指定

public bool CanAttack()
攻撃可能かどうか

public float AttackAngle()
攻撃可能な角度を指定

public void Attack(Vector3 targetPosition)
指定したターゲットに攻撃する(中にアニメーションとか実際の攻撃方法を書いておく)

これらを用意した後で攻撃タスクを実行します。

Behavior Designerで攻撃だけのツリーを構成しようと思ったら結構ややこしいです。

TacticalPackはこれ一発で済むのでこれはこれで便利なのかもしれません。

ダメージ処理に関する記事はまた次回書こうかと思います。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)