У меня есть этот код, который определяет кратчайшее расстояние между моими белыми и зелеными шариками.
Когда он используется моими зелеными шарикамиони преследуют белых и превращают их в зеленых.
Есть ли способ сделать противоположное тому, что делают мои зеленые шары, чтобы мои белые убежали?Код зеленых шаров приведен ниже:
private Vector3 FindClosestHuman()
{
GameObject[] Humans = GameObject.FindGameObjectsWithTag("Human");
Transform bestTarget = null;
float closestDistanceSqr = Mathf.Infinity;
Vector3 currentPosition = this.transform.position;
foreach (GameObject human in Humans)
{
Vector3 directionToTarget = human.transform.position - currentPosition;
float dSqrToTarget = directionToTarget.sqrMagnitude;
if (dSqrToTarget < closestDistanceSqr)
{
closestDistanceSqr = dSqrToTarget;
bestTarget = human.transform;
}
}
return bestTarget.position;
}
void Update ()
{
infectionAgent.SetDestination(FindClosestHuman());
}
Я пытался использовать transform.translate и Vector3 в методе Update, но я просто не могу заставить его работать ...