Unity 2D对象的无效碰撞

问题描述 投票:1回答:2

目前,我正在编写Unity 2D游戏。游戏运行时,汽车开始移动并不断重生。球将被用于将球扔向赛车。我使用Box Collider来为赛车提供基础,但是现在球无法到达底部的车道,因为它被上车道挡住了。我想禁用我的球与其他游戏对象之间的碰撞,以使可能的车道有所不同,但我不知道该怎么做?我希望我可以使用图层来区分它,但是我无法解决我的问题。你们有谁的主意,如何解决我的问题。我将附上图片,以增进您对我问题的理解。enter image description here

unity3d collision layer
2个回答
0
投票

将球放在不同的图层(例如,名为“ Ball”的图层)上,将球道放在不同的图层(例如,称为“ Lanes”的图层)上。然后转到“编辑”->“项目设置”,单击“ Physics 2D”,然后取消选中将“球”层与“车道”层相交的复选框。这将防止2层上的项目之间发生冲突。


0
投票

如上所述,您可以通过Layer Collision Matrix禁用两个特定层之间的冲突

或者,您也可以在运行时使用Physics2D.IgnoreLayerCollision执行相同的操作

或者甚至只忽略使用Physics2D.IgnoreLayerCollision的特定对撞机碰撞>

© www.soinside.com 2019 - 2024. All rights reserved.