(Unity)追いかけてくる敵の作成

(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」を変更すれば手前で止まるようになります。