(1)下準備
- 敵を作成して設置する。
(2)追いかける機能の追加
- Enemy(敵オブジェクト)を選択
- 「Nav Mesh Agent」を追加する。
(3)スクリプトの作成
- 新規にC#スクリプトを作成
- 名前を「ChaseEnemy」に変更
- 下記のコードを書いてチェック
using System.Collections; using System.Collections.Generic; using UnityEngine; // 追加 using UnityEngine.AI; public class ChaseEnemy : MonoBehaviour { public GameObject target; private NavMeshAgent agent; void Start() { agent = GetComponent<NavMeshAgent>(); } void Update() { if(target) { agent.destination = target.transform.position; } } }
(4)スクリプトの設定
- スクリプトをEnemyオブジェクトに追加する
- TargetにBallを設定
(5)追いかける領域の設定
- Floorオブジェクトを選択
- 「Static」にチェックを入れる。
- 「Window」→「AI」→「Navigation」をクリック
- 「Bake」タブを選択
- 「Bake」ボタンをクリック
- Floorオブジェクトの上に、「青色の領域」が設定されたことを確認する。
- これで準備完了です。
- ゲームを再生して確認してみましょう。
- 敵がボールに近づいてくれば成功です。
(6)改良(敵の速度を変更する)
- 「Enemy」を選択
- 「Nav Mesh Agent」の中にある「Speed」を変更すれば追いかけてくる速度を変えられます。
(7)改良(手前で止まるようにする)
- 「Enemy」を選択
- 「Nav Mesh Agent」の中にある「Stopping Distance」を変更すれば手前で止まるようになります。