Почему боты не хотят идти по точкам?

Рейтинг: 0Ответов: 0Опубликовано: 02.03.2023

Бот не хочет идти по точкам, я уже не знаю что делать все перерыл везде такой же метод используют как и я но он идет хаотично вот код:

public class NextBots2 : MonoBehaviour
{
public NavMeshAgent navMeshAgent;
public Transform player;

public Transform door;

public Transform[] points;

[SerializeField] private int currentPoint;

void Start()
{
    currentPoint = -1;
    navMeshAgent = GetComponent<NavMeshAgent>();
}

void Update()
{
    CheckPlayerOnRoom();

    if (currentPoint != -1)
    {
        navMeshAgent.SetDestination(points[currentPoint].position);
    }

    if (navMeshAgent.remainingDistance < 0.5f)
    {
        currentPoint++;
    }

    if (currentPoint >= points.Length)
    {
        currentPoint = 0;
    }
}

void CheckPlayerOnRoom()
{
    if (Check.playerOnRoom && door.transform.rotation == Quaternion.Euler(0, -90, 0))
    {
        if (currentPoint == -1) currentPoint = 0;
    }

    else
    {
        currentPoint = -1;
        navMeshAgent.SetDestination(player.transform.position);
    }
}
}

все перепробовал, не работает и да я заходил на страницу в habr где там говорилось как это сделать и оно тоже не помогло, основная мысль в том что если игрок заперся в комнате то бот должен идти просто по точкам.

Ответы

Ответов пока нет.