目前,我正在编写Unity 2D游戏。游戏运行时,汽车开始移动并不断重生。球将被用于将球扔向赛车。我使用Box Collider来为赛车提供基础,但是现在球无法到达底部的车道,因为它被上车道挡住了。我想禁用我的球与其他游戏对象之间的碰撞,以使可能的车道有所不同,但我不知道该怎么做?我希望我可以使用图层来区分它,但是我无法解决我的问题。你们有谁的主意,如何解决我的问题。我将附上图片,以增进您对我问题的理解。enter image description here
将球放在不同的图层(例如,名为“ Ball”的图层)上,将球道放在不同的图层(例如,称为“ Lanes”的图层)上。然后转到“编辑”->“项目设置”,单击“ Physics 2D”,然后取消选中将“球”层与“车道”层相交的复选框。这将防止2层上的项目之间发生冲突。
如上所述,您可以通过Layer Collision Matrix禁用两个特定层之间的冲突
或者,您也可以在运行时使用Physics2D.IgnoreLayerCollision
执行相同的操作
或者甚至只忽略使用Physics2D.IgnoreLayerCollision
的特定对撞机碰撞>