У меня есть вот такой код, который заставляет болванчиков искать путь к рандом цели из массива. Болванчики эти спавнятся на карте раз в +- 5 секунд, но при появление они не начинают свое движение, так как Unity думает что они не находятся в поле NavMesh. Знающие, помогите, так как сам только начал изучать данный инструмент и такая ошибка сбивает мне столку.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class EnemyAI : MonoBehaviour
{
//public Transform destination;
public GameObject[] damagedObject;
NavMeshAgent agent;
private int randomIndex;
public GameObject randomTarget;
void Start()
{
agent = GetComponent<NavMeshAgent>();
agent.updateRotation = false;
agent.updateUpAxis = false;
damagedObject = GameObject.FindGameObjectsWithTag("DamagedObject");
if (damagedObject != null && damagedObject.Length > 0 && agent != null && agent.enabled)
{
// Выбираем случайный индекс из массива damagedObject
randomIndex = Random.Range(0, damagedObject.Length);
Debug.Log(randomIndex);
// Получаем случайный объект из массива
randomTarget = damagedObject[randomIndex];
}
}
// Update is called once per frame
void Update()
{
if (randomTarget != null)
{
if (agent.isOnNavMesh) // Проверка, находится ли агент в поле NavMesh
{
agent.SetDestination(randomTarget.transform.position);
}
}
}
}