【问题标题】:Unity2D: Rigidbody2D.AddForce won't work when I add a colliderUnity2D:当我添加对撞机时,Rigidbody2D.AddForce 将不起作用
【发布时间】:2015-08-23 17:39:25
【问题描述】:

在 Unity 中,我有一个播放器,您可以在其中按 A 和 D 左右移动,按空格键跳跃(我也在尝试添加触摸控制)。当我将 collider2d 添加到我的 Player 对象时,该对象将不允许我使用 Rigidbody2D.AddForce。它根本不会改变我的角色。有人知道为什么吗?

PS:我知道这与我的输入无关,因为当我直接编辑位置时(例如player.transform.position.y += 1)它可以工作,但看起来玩家只是在传送,所以我不想这样做。

【问题讨论】:

    标签: c# unity3d rigid-bodies


    【解决方案1】:

    您需要将 RigidBody 的 isKinematic 属性设置为 false。因为如果启用 isKinematic,力、碰撞或关节将不再影响刚体。通过更改 transform.position,刚体将受到动画或脚本控制的完全控制。参考统一文档http://docs.unity3d.com/ScriptReference/Rigidbody-isKinematic.html

    【讨论】:

      【解决方案2】:

      也许您可以发布一些播放器设置的代码或图片?

      但是,它可能有很多问题不会影响您的播放器。

      • 也许您的玩家正在与阻止刚体移动的物体发生碰撞。
      • 可能您添加的力量不足以移动玩家。
      • 您的代码中可能有些内容。
      • 也许 isKinemtic 设置为 true?

      我希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2022-06-29
        • 1970-01-01
        • 1970-01-01
        • 2019-04-06
        • 1970-01-01
        • 2016-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多