Unity NavMeshAgent запускает Go в другом направлении, когда сталкивается с игроком - PullRequest
0 голосов
/ 21 апреля 2020

Итак, у меня есть капсула в качестве моего NavMeshAgent (пока), и он следует за игроком и избегает стен, но когда игрок сталкивается с капсулой, капсула начинает случайным образом отклоняться. Мой код для NavMeshAgent следующий: [SerializeField] Преобразовать назначение;

NavMeshAgent navMeshAgent;

// Start is called before the first frame update
void FixedUpdate()
{
    navMeshAgent = this.GetComponent<NavMeshAgent>();

    if (navMeshAgent == null)
    {
        Debug.LogError("The nav mesh agent component is not attached to " + gameObject.name);
    }

    else if (navMeshAgent.enabled == true)
    {
        SetDestination();
    }
}

private void SetDestination()
{
    if (destination != null)
    {
        Vector3 targetVector = destination.transform.position;
        navMeshAgent.SetDestination(targetVector);
    }
}

private void OnTriggerExit(Collider other)
{
    if (other.CompareTag("Player"))
    {
        SetDestination();
    }
}

Высоко ценю любую помощь:)

1 Ответ

0 голосов
/ 21 апреля 2020

Попробуйте заменить SetDestination (Vector3) на SetDestination (transform.position) и связать преобразование с дочерним игровым объектом объекта, за которым вы пытаетесь следовать.

Сценарий также может быть сбит с толку вашим Пустота и Пустота Единства. Попробуйте переименовать функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...