首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制navmesh代理旋转导致奇怪的行为

控制navmesh代理旋转导致奇怪的行为
EN

Stack Overflow用户
提问于 2019-10-22 01:31:28
回答 1查看 68关注 0票数 1

我有一个navmesh代理,我对它更新旋转的方式不满意(总是稍微关闭),所以我关闭了它,并自己做了。

它真的很好用,但是当我以3-4倍的速度运行游戏(管理游戏)时,它们有时会平躺0,5-1秒,然后继续运行,我假设这是由这个脚本引起的。

我很确定是在他们原地踏步或即将转弯的时候。

代码语言:javascript
复制
void LateUpdate()
{
    if (agent.velocity.sqrMagnitude > Mathf.Epsilon)
    {
        transform.rotation = Quaternion.LookRotation(agent.velocity.normalized);
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-10-22 03:41:38

显然,这是在计算路径时发生的,因此添加以下代码即可解决此问题:

代码语言:javascript
复制
 void LateUpdate()
{
    if (agent.hasPath)
    {
        if (agent.velocity.sqrMagnitude > Mathf.Epsilon)
        {
            transform.rotation = Quaternion.LookRotation(agent.velocity.normalized);
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58491429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档