AIから追従対象までの距離を出す

2点間の距離を取得する場合,通常では

Vector3
.Distance(
Vector3

obja

,
Vector3

objb

);
などで取得するが,AIを使う場合はベクトルの計算ではなくAI(NavMesh)から距離が取れる(距離を出力してくれる)

 

//変数系

public     NavMeshAgent mynav2;//インスペクタに現れるのでNavMeshがついているゲームオブジェクトをアサインする

float enemyDistance;

//以下をUpdate(){  } の中に入れる

enemyDistance = mynav2.remainingDistance;

で取得可能.

 

スクリプトサンプル例

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class aiDistance : MonoBehaviour {
	public     NavMeshAgent mynav2;//インスペクタに現れるのでNavMeshがついているゲームオブジェクトをアサインする
	float enemyDistance;
	public Text disTex;
	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
		enemyDistance = mynav2.remainingDistance;
		disTex.text = enemyDistance.ToString ();
	}
}

実行画面例