Объект юнити после запуска сцены меняет позицию по оси Z
В 2D проекте есть объект Enemy, который при движении меняет свою позицию по оси Z на отрицательное значение и становится невидимым при тесте игры, но если он будет стоять на месте, то всё хорошо. Объекты к которым он двигается имеют неотрицательную координату по Z. Код:
void Update()
{
if (Vector2.Distance(transform.position, player.position) <= viewingDistance)
{
if (Vector2.Distance(transform.position, player.position) > stoppingDistance)
{
transform.position = Vector2.MoveTowards(transform.position, player.position, speed * Time.deltaTime);
}
else if (Vector2.Distance(transform.position, player.position) < stoppingDistance && (Vector2.Distance(transform.position, player.position) > retreatDistance))
{
transform.position = this.transform.position;
}
else if (Vector2.Distance(transform.position, player.position) < retreatDistance)
{
transform.position = Vector2.MoveTowards(transform.position, player.position, -speed * Time.deltaTime);
}
}
else if (Vector3.Distance(transform.position, moveSpots[randomSpot].position) < 0.2f)
{
if (waitTime <= 0)
{
randomSpot = Random.Range(0, moveSpots.Length);
waitTime = startWaitTime;
}
else
{
waitTime -= Time.deltaTime;
}
}