Kerpen.Z 2022-09-03 17:29 采纳率: 66.7%
浏览 51

Unity寻路 终点偏差

问题遇到的现象和发生背景

Unity用设定寻路目标的时候,利用这个API naveMeshAgent.SetDestination,设置完毕后,navemeshagent的destination和设置的有偏差?

问题相关代码,请勿粘贴截图
Vector3[] geoPeopleDestroyVector ={
            new Vector3(75.88168f, 11.5f,126.2816f),
            new Vector3(85.16019f, 11.5f,176.5286f),
            new Vector3(111.43f, 11.5f,176.5286f),
            new Vector3(141.26f , 1.5f,183.9f),
            new Vector3(136.66f , 1.5f,183.9f),
            new Vector3(130.48f , 1.5f,183.9f),
            new Vector3(125.9f, 1.5f,183.9f),
            
            new Vector3(141.26f , 1.5f,163.56f),
            new Vector3(136.66f , 1.5f,163.38f),
            new Vector3(130.48f , 1.5f,163.38f),
            new Vector3(125.9f, 1.5f,163.38f)
        };
        nav = GetComponent<NavMeshAgent>();
        rand = Random.Range(0, geoPeopleDestroyVector.Length);
        nav.SetDestination(geoPeopleDestroyVector[rand]);
        targrt = nav.destination;
        targetpos = geoPeopleDestroyVector[rand];  //targrt和targetpos理论上来说应该是一样的,但是打印出来却有偏差
运行结果及报错内容

img

img

img

list里面的多个终点,有的没有偏差,有的有偏差,不知道为什么?

我的解答思路和尝试过的方法

我尝试过将子物体与父物体的中心点,对齐,但是都没有效果

我想要达到的结果

我希望设置的终点和实际运行的重点不要有偏差!

  • 写回答

3条回答 默认 最新

  • 唐沢 2022-09-03 17:38
    关注

    你可以这样,到达时重新设定位置,Unity寻路系统我用的不多,我一直在用A*寻路,我觉得有偏差是正常的,接近时位置应该是模糊位置

    评论

报告相同问题?

问题事件

  • 创建了问题 9月3日