Unity 2D物理 - 球穿过物体而不是弹回

时间:2015-12-29 04:33:20

标签: unity3d game-physics unity5

我按照youtube tutorial使用Unity创建了一个Breakout游戏。除了球和积木之间的接触,一切都很好。它在与块碰撞时不是在相反方向上反弹,而是在同一方向上移动。我不太确定导致这个问题的原因。我使用的是5.2.3f1版本,但教程中使用的是版本4.6.1f1。我已将我的项目上传到此 link

1 个答案:

答案 0 :(得分:1)

  • 确保对象具有Rigidbody组件
  • 确保对象有碰撞器
  • 确保对象位于可能相互碰撞的图层上(请参阅编辑\项目设置\物理2D:图层碰撞矩阵)
  • 确保使用物理(obj.GetComponent<Rigidbody>().MovePosition(...);或施加力/冲动)移动物体。如果您只修改obj.transform.position
  • 将不会有效
  • 假设对象A和B发生碰撞,请确保将其中任何一个与其碰撞相同的框架销毁。如果你在其OnCollisionEnter2D处理程序中销毁A,B可能永远不会知道它与A发生冲突。你可能会使用像Destroy(gameObject, 0.1f);这样的延迟破坏(在.1秒后会破坏gameObject