使用刚体



似乎找不到我发现这个问题的任何建议。我有一个遵循我的玩家的代理商,我想在击中我的播放器时推回该代理商,但可以正常工作,但是代理位置似乎无法正确更新,因为碰撞后,它无法正确尝试到达播放器再次,就像它认为它已经达到其位置一样。

它还在Unity文档中说,我需要将僵化的体设置为运动学,但是我无法添加武力?

private void Update()
{
    if (!playerHit && followPlayer)
    {
        _agent.SetDestination(GameManager.instance.ActivePlayer.transform.position);
    }
}
private void FixedUpdate()
{
    if (playerHit)
    {
        _rb.AddForce(-transform.forward * 10, ForceMode.Impulse);
    }
}

您可以通过在一定的时间内禁用NavMesh代理,然后在速度接近零时重新启用它。

private void Update()
{
    if (!playerHit && followPlayer)
    {
        _agent.SetDestination(GameManager.instance.ActivePlayer.transform.position);
    }
}
private void FixedUpdate()
{
    if (playerHit)
    {
        agent.enabled = false; // disabling the navmesh agent.
        _rb.AddForce(-transform.forward * 10, ForceMode.Impulse);
    }
}

可以改进实施,让我知道它是否有帮助。

相关内容

  • 没有找到相关文章

最新更新