【问题标题】:for what reason this does not work properly (navmesh)为什么这不能正常工作(navmesh)
【发布时间】:2022-10-23 23:49:47
【问题描述】:
private void moveto(Vector3 direction){
    bool possible = true;
    possible = UnityEngine.AI.NavMesh.CalculatePath(transform.position, direction, UnityEngine.AI.NavMesh.AllAreas, path);
    if(possible)
    {
        for(int i = 0; i < path.corners.Length-1; i++)
            Debug.DrawLine(path.corners[i], path.corners[i+1], Color.red);
        transform.position = Vector3.MoveTowards(transform.position, path.corners[1] , myspeed * Time.deltaTime);
        path.ClearCorners();
    }
}

顺便说一句,路径是 navmeshpath 的东西,我都是新手统一堆栈溢出.

我在敌人援助中使用它。

drawline 显示路径,没问题。

那么物体为什么会做出奇怪的动作呢?就像绕圈子一样,或者在冲刺后逃离玩家(对象有冲刺攻击),即使在进行错误移动时,它仍然显示来自drawray 的完美路径,只是不遵循路径并做随机的事情,也许 navmesh 使物体后面的随机航点,所以我看不到它们??

移动代码之前直接发送给玩家,现在更改是它的一个函数,它计算一个路径(每帧)并转到该路径的第一个航路点

【问题讨论】:

  • 只需在标题上注明一下,Stack Overflow 上的绝大多数问题都是“为什么这不起作用?”或“这里出了什么问题?”一个描述性的标题将有助于将您的问题与同时发布的数百个问题区分开来,并可能吸引能够更好地帮助您的读者。

标签: c# unity3d navmesh


【解决方案1】:

也许你有某种刚体附着在它上面,或者一些使角色的物理完全错误的碰撞器? (所以即使他想前进,他还是会被一些物理物体拉住或挡住)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 2012-06-10
    • 1970-01-01
    • 2023-02-20
    相关资源
    最近更新 更多