NavMesh 未创建代理,因为“它不够接近”

问题描述 投票:0回答:1

我目前正在尝试使用 NavMesh 在 Unity 上进行一些寻路,但出于某种原因,当我运行游戏时,它说代理距离 NavMesh 不够近(即使它实际上就在其中)。

我添加了我的代码,并附加了一些图像来更好地解释我的问题。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class Fellas : MonoBehaviour
{
    [SerializeField] Transform target;

    NavMeshAgent agent;

    private void start()
    {
        agent = GetComponent<NavMeshAgent>();
        agent.updateRotation = false;
        agent.updateUpAxis = false;
    }

    private void Update() 
    {
        agent.SetDestination(target.position);   
    }
}

我尝试再次烘焙导航网格,更改路径点的大小,使路径点更接近角色,但似乎没有任何变化。帮助将不胜感激!

编辑:注意到图像的信息没有显示(对于 stackoverflow 的工作方式仍然是新的)所以只想说:第一张图片显示了 NavMesh 的边框。第二个是角色和路径点的特写,第三个只是我得到的错误。

c# unity-game-engine path-finding navmesh
1个回答
0
投票

如果导航网格尚未准确创建,特别是 AI 移动的区域,则会出现此错误。检查您是否正确设置了导航区域。该视频可能会有所帮助:

https://www.youtube.com/watch?v=HRX0pUSucW4

对于“未设置对象引用”错误,请检查您的 navmeshagent 是否与 Fellas 脚本位于同一对象中。

如果上述方法都不能解决问题,如果您能给我发送更多项目屏幕截图,以便我更好地了解发生的情况,我将不胜感激。

© www.soinside.com 2019 - 2024. All rights reserved.