Как сказано в названии, я использую Vector3.Distance , чтобы получить расстояние до двух объектов, что-то вроде вражеского погони за игроком, и я обнаружил, что даже враг "ловит" игрока, два объекта находятся близкодруг к другу, я имею в виду, что все они находятся в одинаковом положении, перекрывая друг друга, но значение, которое возвращает этот API, не то, что я думал, значение держится в пределах 0 некоторое время, затем оно начинает становиться все больше и больше,Интересно, есть ли какая-то причина, чтобы объяснить это, это странно.
Я использую NavMeshAgent, чтобы установить "player.transform.position" в качестве места назначения.
введите описание изображения здесь
другое изображение: введите описание изображения здесь
public override void Reason(GameObject player, GameObject npc)
{
NPCControl npcControl = npc.GetComponent<NPCControl>();
float distance = Vector3.Distance(npc.transform.position, player.transform.position);
Vector3 Ppos = player.transform.position;
Debug.Log("P(" + Ppos.x + ", " + Ppos.y + ", " + Ppos.z + ")");
Vector3 Epos = npc.transform.position;
Debug.LogWarning("E(" + Epos.x + ", " + Epos.y + ", " + Epos.z + ")");
float Dst = Vector3.Distance(Ppos, Epos);
Debug.LogError("P-E(" + Dst + ")");
}