【TopDown Engine】敵が攻撃をできるようにする方法

AIBrain TopDownEngine
スポンサーリンク

前書き

いままで敵の視界を設定する方法やプレイヤーを見つける方法など紹介しましたが、敵が攻撃する設定方法については簡単にしか紹介していなかったため、今回は敵が攻撃できるようになる設定について紹介していこうと思います。

以前紹介した敵が攻撃する設定については以下になります。

敵が攻撃する方法

TopDownEngineで敵が攻撃してくれるようにするには以下の設定が必要になります。

  1. Character Handle Weapon“のコンポーネントを持ったキャラクターが
  2. Initial Weapon“もしくは”Current Weapon“に武器を設定された状態で
  3. AI Action Shoot 2D/3D“コンポーネントを
  4. AI Brain“のActionsで呼び出す

上記1~4の設定をすることで敵キャラが攻撃をしてくれるようになります。「敵が一定の距離に入ったら」や「一定の時間が経過したら」など攻撃を発動するタイミングはまた別途設定が必要になりますので、今回はまず攻撃が発動できるようになるまでを目標にしようと思います。

Character Handle Weaponについて

Character Handle Weapon

敵が攻撃するようになるためには武器を持たせる必要があります。プレイヤーと同じように敵キャラも武器を持ち換えたりすることができますが、単純に1つの武器(攻撃)だけをするのであれば”Initial Weapon”にMelee WeaponやRange Weaponで作成したPrefabを設定すればOKです。

上記キャプチャのように敵キャラクタに”Character Handle Weapon“のコンポーネントを設定したうえで”Initial Weapon“に武器を設定することで「敵が武器を持った状態」になります。

AI Action Shoot 2D/3Dについて

AI Action Shoot

敵キャラが武器を持った状態でも「攻撃する」というステータスにしなければいつまでたっても攻撃をしてくれません。敵キャラを「攻撃する」ステータスにするためにはAI Action Shoot 2D/3D コンポーネントを使う必要があります。

上記キャプチャでは”Binding“の”Target Handle Weapon Ability“がNoneになっていますが、キャラクタに“Character Handle Weapon”が設定されて入れば自動で現在持っている武器を読み出す作りになっていますので、特に設定は不要です。

AI BrainのActionsについて

AI Brain

AI Brain でAI Action Shoot2D を設定する方法は上記になります。AI Action Shoot2DはActionsのパーツになるため、Actionsに先ほど設定したAI Action Shoot 2D を設定します。

注意点としてAI Action Shoot2D/3Dの前提条件として”プレイヤーが見つかっている子こと”(視界の範囲内にいること)が必要ですので事前に”AI Decision Detect Target Radius 2D“でターゲットとなるプレイヤーを見つけていないとAttack(AI Action Shoot 2D)に失敗しますので、Attackの前にプレイヤーを見つけるロジックを事前に作成する必要があります。

敵が攻撃するような設定をしたときの動画

今までの設定をした敵キャラクタを動かしたときの動画になります。AI Brain の Current StateがAttackになるときに攻撃していることが分かります。

DetectingやMovingはDemoにあるKoalaNinjaとほぼ同じですのでまずは

敵を見つける→プレイヤーの方に移動する→攻撃する

ところまでできるようにしてみましょう。

まとめ

今回は敵が攻撃をできるようにする方法について紹介しました。

敵AIの基本的な要素である攻撃についてですので、まずはこの仕組みを理解し、いつでも作れるようになると敵キャラクタを作るのは簡単になると思います。

今回紹介したのは単純に攻撃するっといったことですので、次回は複数の攻撃方法を切り替えて攻撃するっということも紹介していこうと思います。

コメント

タイトルとURLをコピーしました