学员(7686)
课程(179)
分享
同学你好,在控制移动的时候使用navmeshaget.nextPosition=transform.position就可以修改位置。
老师你好,我修改后NavMeshAgent和机器人一直在原地踏步,这是为什么呀,
回复 @ CaCake: 说明现在位置已经同步了,同学仔细检查一下巡逻代码跟移动代码。
回复 @ 老师_Trigger: 老师,我检查了好久,巡逻和移动代码没错. 1没写动画代码之前,NavMeshAgent可以拖着机器人移动到各个位置,会有休息。 2加了动画代码没加avmeshaget.nextPosition=transform.position,仅仅NavMeshAgent移动,机器人原地踏步,会有休息 3加了avmeshaget.nextPosition=transform.position后,NavMeshAgent和机器人一起在原地踏步,会有休息。 老师救救我啊。。。。我已经陷进去了
回复 @ CaCake: 应该是同学对自动寻路这部分没有掌握,同学去学习一下这个课程的第四章 http://www.sikiedu.com/my/course/43 之后就基本把这块掌握了,再回来就很容易看出来咱们的问题。
我也遇过这个问题,貌似代码版本不同的写法造成的,课程里有个细节写法在新的已经不是那样用的了,具体忘记了,你可以往这方面找找看
想起来了,我当时是代码运行顺序方面出了些理解偏差
由于unity5.3,对自动寻路的navmeshAgent增加了模拟仿真位置的控制,我的理解是:所以新版本中,模拟仿真位置(那个框)不会根据模型位置来自动更新跟随位置了,要自己在代码最后加上navmeshAgent.nextPosition=transform.position; 来让框重新跟上模型
注意是在代码最后
回复 @ 青菜萝卜冬瓜: 非常感谢你的建议,不过我试过这个,加上后机器人就会原地踏步,就是框和模型是在一起的,有行走动画就是不移动。
老哥,我也碰到这个问题了,这个问题你解决掉了吗
可以参考看看老师整理的工程:链接:https://pan.baidu.com/s/1I1BW6Af38pn_bPrpF-WWrA 提取码:heys