LoginSignup
0
0

Unity Polarith AI Pro 自動で動く敵を簡単に作る

Last updated at Posted at 2024-02-08

Unityで敵を動かしたい。でも自機と敵が近づくためにはどうすれば?
自機への経路を探索して決める必要がある。
それをPolarith AI ProというAssetで利用して実現する。

Polarith AI Proとは

平面上の経路探査を簡単に実現できるAsset。有料。

とりあえず使って見る

Hierarchyで右クリック 2D Objedt > Sprites > Triangle
三角形を3つ追加
image.png

わかりやすいように色をつける。
image.png
image.png
3つに名前をつける。
image.png

Agent:プレイヤー
Danger:障害物
Interest:目標物

AgentにAIM Contextをアタッチ
image.png

センサーを追加
Create > Polarith AI Move > Sensors > AIM Planar Sensor
image.png

センサーの設定 設定後にBuild new as Circleをクリック
image.png

センサーをAgentの追加したAimContextに追加
image.png

オブジェクトのラベルを設定
image.png

これでセンサーの準備は完了。
次は対象の設定
AgentにAimSeekを二つアタッチ
image.png
人のマークのタブで、TargetObjectiveにInterrestとDangerを設定
image.png
丸のタブに切り替え
Game ObjectsにDangerとInterestのオブジェクトをD&D
image.png

これで再生してみる。Polatith AIのセンサーは再生時にしか見えないので注意すること。また再生時にはギズモを表示する設定にしないと見えない。
image.png
Sceneに戻ってAgentを動かしてみると
image.png
image.png
緑に黄色の線が、赤に、赤い線が動いているのがわかる。
線がでていなければSenserの設定を見直そう。
GizmoのOnにしてRedius変更。Build New as Circleを押して線の大きさが変わることを確認してみる。
image.png

ここまで出来たらあとは動くようにスクリプトを追加するだけ。
AgentにAIM Simple Controller 2dを追加
image.png
再生を押すとうごくようになる。
やったね。
ezgif-2-8351dec904.gif

発展 スムーズな動きにする。

移動時にスムーズな方向転換を行うにはもう一工夫が必要。
Agentに Aim Planar Interpolationを追加する
image.png
これで移動方向化センサーに設定した16方向からスムーズな方向へとかわる。

発展 物理法則で移動

物理法則で移動するにはAim Physics Controllerが用意されているのでそれを利用する。
image.png

目標物をレイヤーで設定

目標の設定や障害物の設定は自動的に設定できたらというあなたに。レイヤーで設定したものを自動的に設定できます。

新しくGameObjectを2つ作成。名前をEnvInterrest EnvDangerに設定。
image.png
作成したものにAimEnviromentをアタッチ。

image.png
オブジェクトのAddLayerで2つ追加
image.png

image.png

AIMEnviromentのLayersに各自レイヤーを設定
image.png
Labelにも同じ名前を設定

DangerオブジェクトとInterestオブジェクトにレイヤーを各自設定。
image.png

image.png

橋渡しをするコンポーネントを追加する。
GameObjectを追加しPreceiverと名付け。
AiM Steering Perceiverを追加。
image.png
作成した2つのEnviromentオブジェクトを追加する。
image.png

AgentオブジェにAIM Steering Filterを追加。Perceiverオブジェクトとを追加
image.png

次にレイヤーで設定する。
Agentの Aim SeekでInterestとDangerを各自追加。今まで使っていたGameObjectのほうを削除することも忘れずに。
image.png

これで設定完了。ゲームオブジェクトのレイヤーでDangerやInterestと設定したオブジェクトにAgentが反応するようになれば成功。
やったね。

発展 動作を軽くする。

動かないもの、いわとかかべとかは起動時に計算すると動作が軽くなる。その設定はStaticにチェックをいれるだけ
image.png

発展 目標対象が複数のとき目移りしないようにする。

目標対象が複数あり、動作が安定しない場合はAgentにAim Stabilizationを追加。 これで安定する。

image.png

困ったとき

Lineが2重に見える

image.png

カメラが複数ある場合に発生する。カメラの数を1つに減らすと解決する。

パスで動かしたい

つづく

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0