在 Unity 中,我有一个播放器,您可以按 A 和 D 左右移动,按空格键跳跃(我也在尝试添加触摸控制)。当我将 collider2d 添加到我的 Player 对象时,该对象将不允许我使用 Rigidbody2D.AddForce。它根本不会改变我的角色。有人知道为什么吗?
PS:我知道这与我的输入无关,因为当我直接编辑位置时(例如player.transform.position.y += 1
)它可以工作,但看起来玩家只是在传送,所以我不想这样做。
在 Unity 中,我有一个播放器,您可以按 A 和 D 左右移动,按空格键跳跃(我也在尝试添加触摸控制)。当我将 collider2d 添加到我的 Player 对象时,该对象将不允许我使用 Rigidbody2D.AddForce。它根本不会改变我的角色。有人知道为什么吗?
PS:我知道这与我的输入无关,因为当我直接编辑位置时(例如player.transform.position.y += 1
)它可以工作,但看起来玩家只是在传送,所以我不想这样做。
您需要将 RigidBody 的 isKinematic 属性设置为 false。因为如果启用 isKinematic,力、碰撞或关节将不再影响刚体。通过更改 transform.position,刚体将受到动画或脚本控制的完全控制。参考统一文档http://docs.unity3d.com/ScriptReference/Rigidbody-isKinematic.html
也许您可以发布一些播放器设置的代码或图像?
但是,可能存在许多问题,为什么它不会影响您的播放器。
我希望这有帮助。