前書き
前回はTopDown Engineを使って敵キャラクターが攻撃する方法を紹介しましたが、1つの攻撃方法だけでは敵キャラクターの行動が単調になり、バリエーションに欠けてしまいます。特に、ボスキャラクターなどの場合、HPが減少するにつれて行動パターンが変化したり、新しい攻撃を繰り出したりするように通常の敵キャラクターとは一味違った設定が求められます。
その点、TopDown Engineでは、最初から複数の攻撃方法を設定できる機能がすでに備わっており、このような要望に対応できるようになっています。
そこで、今回は敵キャラクターに複数の攻撃方法を設定する手順について詳しく解説していきたいと思います。
前回敵が攻撃する設定についてまとめた記事は以下になりますので、参考にご確認ください。
おさらい:敵が攻撃する方法
前回紹介しましたが、TopDownEngineで敵が攻撃してくれるようにするには以下の設定が必要になります。
- “Character Handle Weapon“のコンポーネントを持ったキャラクターが
- “Initial Weapon“もしくは”Current Weapon“に武器を設定された状態で
- “AI Action Shoot 2D/3D“コンポーネントを
- “AI Brain“のActionsで呼び出す
ここで重要になってくるのは敵が攻撃するためには「①:武器を持った状態」で「②:AI Brainを使って攻撃アクションを行う」ことです。
今回はさらに「①’:複数の武器を持った状態」で「②’:AI Brainを使って武器それぞれに対して攻撃アクションを行う」設定が必要になります。やりかたは簡単ですのでそれぞれどのように設定するか見ていきましょう。
①’:複数の武器を持った状態について
前回、武器を持たせる場合、Character Handle Weaponコンポーネントを設定すると説明しましたが、1人のキャラクターに複数の武器を設定したい場合は2つ目以降に「Character Handle Secondary Weapon」コンポーネントを設定する必要があります。(3つ目、4つ目の武器を設定したい場合でもCharacter Handle Secondary Weaponを設定して大丈夫です)
Character Handle Secondary Weaponコンポーネントを見てみると分かるのですが、Character Handle Weaponと処理の違いはほとんどありません。敵キャラクターに別の武器を使わせたい場合はCharacter Handle Weaponと同じようにInitial Weaponに武器を設定して動かしてみましょう。
②’:AI Brainを使って武器それぞれに対して攻撃アクションを行う
敵キャラを「攻撃する」ステータスにするためにはAI Action Shoot 2D/3D コンポーネントを使うと前回説明しましたが、武器それぞれに対して攻撃アクションを行う場合も同様にAI Action Shoot 2D/3Dコンポーネントを使用します。
上記キャプチャではAI Action Shoot 2Dが2つ存在しますが、違いとして”Binding“の”Target Handle Weapon Ability“に「Character Handle Weapon」が設定されているものと「Character Handle Secondary Weapon」が設定されているものの2つが存在します。このようにTarget Handle Weapon Abilityにそれぞれ別の武器を設定してあげることでAI Brainで呼び出したときにそれぞれの武器が「攻撃する」というステータスになる仕組みになっています。
また、それぞれのAI Action Shoot 2DにはLabelがあり、それぞれどのような機能なのかを任意で名づけることができます。どちらのコンポーネントが何の武器か分かりやすくするためLabelに説明を入れることをお勧めします。
AI BrainのActionsについて
AI Brainで近距離攻撃を設定したAI Action Shoot 2Dと遠距離離攻撃を設定したAI Action Shoot 2Dそれぞれを呼び出すように設定することでそれぞれの武器を切り替えて攻撃することができます。
以下は「移動中の場合は遠距離攻撃」を実行し、「一定の距離まで近づいたら近距離攻撃」を実行するように設定したAI Brainになります。このように、AI Action Shoot 2D をそれぞれ必要なところで呼び出すように設定することで複数の武器(攻撃)設定することができます。
敵が複数の攻撃をする設定をしたときの動画
2つの武器を設定し、「歩いているときは遠距離攻撃」、「近づいたら近距離攻撃」をするようにしてみました。今回は分かりやすく上記2つの条件で設定しましたが、「HPが一定以下の場合」や「プレイヤーとの距離が一定になった場合」などTopDownEngineではいろいろな条件を設定することができるので、自分に合った条件を設定してみてください。
まとめ
今回は敵が複数の攻撃をできるようにする方法について紹介しました。
やりかたとしては前回紹介した方法とほぼ同じで
①:Character Handle Secondary Weaponを追加すること
②:AI Action Shoot 2D/3Dコンポーネントに新しく追加したCharacter Handle Secondary Weaponを設定すること
③:②を呼び出すようにAI Brainに設定すること
になります。
設定としては特に難しくはないのですが、AI Brainを使ってどのタイミングで読み出すのか?といった敵キャラクターの条件付けが大変なので具体的にどういったときに攻撃をさせたいのかを詳細に決めておくといいかもしれません。
攻撃手段を自作すると大変ですがTopDownEngineの場合、標準的に備わっている機能ですので色々な機能をたくさん使ってTopDownEngineについて理解を深めていけたらいいかと思います。
コメント