我最近开始玩AI和Unity内置寻路器。到目前为止,我还没有遇到任何更大的麻烦,但是昨天我进口了一个山路模型,从它的基地走到最顶端。
我的AI游戏对象包括Rigidbody(设置为运动学),Capsule Collider和NavMesh Agent。 我生成了NavMesh并将最大斜率设置为40度,当AI跟随我的玩家或沿指定路径(航路点)行走时,AI导航很好但是当我尝试在AI半径的NavMesh中选择一个随机位置时几秒后出现故障并开始摇晃,通常是在目的地靠近NavMesh的边缘时。 我已经捕获了两个视频,我从昨天开始努力解决这个问题。
我已经尝试完全移除Rigidbody,改变避障设置,降低最大坡度但到目前为止没有任何效果。
这就是它的样子:
我用来获取随机位置的代码:
case v, more := <-ch:
if !more {
return
}
fmt.Printf("v is %v\n", v)
我真的很感激任何帮助解决这个问题。
答案 0 :(得分:0)
原来private static event EventHandler<SomeEventArgs> eventTriggered
public static event EventHandler<SomeEventArgs> EventTriggered
{
add
{
eventTriggered-= value;
eventTriggered+= value;
//Add code here to keep track somewhere of event
}
remove
{
eventTriggered-= value;
//Add code here to keep track somewhere of event
}
}
并未将NavMesh Agent半径考虑在内,因此代理无法访问它。
我设法通过将hit.position移动一半代理的半径远离边缘来设法修复它。
NavMesh.SamplePosition