

ОШИБКА UNITY Failed to create agent because it is not close enough to the NavMesh
ХОТЕЛ СДЕЛАТЬ ТАК ЧТОБ ПРИ ПРИКОСНОВЕНИИ ОБЪЕКТА С ИСПОЛЬЗОВАНИЕМ NavMeshAgent С ДРУГИМ ОБЪЕКТОМ У НЕГО УДАЛЯЛСЯ NavMeshAgent НО ВЫСКОЧИЛО ЭТО "Failed to create agent because it is not close enough to the NavMesh"
ПОМОГИТЕ!
ВОТ СКРИПТ:
using System.Collections;
using UnityEngine;
public class Weapon : MonoBehaviour
{
public float damage = 21f;
public float fireRate = 1f;
public float force = 155f;
public float range = 15f;
public ParticleSystem muzzleFlash;
public Transform bulletSpawn;
public AudioClip shotSFX;
public AudioSource _audioSource;
public GameObject hitEffect;
public GameObject toilet;
public Camera _cam;
public UnityEngine.AI.NavMeshAgent agent;
private float nextFire = 0f;
void Update()
{
if (Input.GetButton("Fire1") && Time.time > nextFire)
{
nextFire = Time.time + 1f / fireRate;
Shoot();
}
}
void Shoot()
{
_audioSource.PlayOneShot(shotSFX);
muzzleFlash.Play();
RaycastHit hit;
if (Physics.Raycast(_cam.transform.position, _cam.transform.forward, out hit, range))
{
Debug.Log("Вы попали в объект! " + hit.collider);
GameObject impact = Instantiate(hitEffect, hit.point, Quaternion.LookRotation(hit.normal));
Destroy(impact, 2f);
if (hit.rigidbody != null)
{
hit.rigidbody.AddForce(-hit.normal * force);
agent.enabled = false;
}
}
}
}
Ошибки “Failed to create agent because it is not close enough to the NavMesh” возникает, когда NavMeshAgent не находится на NavMesh. Это может произойти, если вы пытаетесь использовать агента, который был деактивирован или все еще вызывает обновление агента, который с тех пор был удален из сцены или перемещен. В вашем коде я не вижу ничего, что могло бы вызвать эту ошибку. Однако, если вы уверены, что агент находится на NavMesh, вы можете попробовать пересоздать NavMesh и убедиться, что значения для шага/наклона и т. д. соответствуют значениям на агенте. Если это не поможет, вы можете отправить отчет об ошибке в Unity. Они могут помочь вам решить эту проблему.