Box Collider 2D和Polygon Collider 2D之间的碰撞不起作用



当前我正在使用网络2D平台游戏。

我的播放器是一个空的对象,用作我实际图形的父级等。空对象在其上附有rigidbody (3d),因为它需要一个使用configurable joint组件(注意:我将播放器移动到周围但是,使用这个3D刚体的身体(。但是,玩家的身体是图形的孩子,在其上附有box collider 2d,因为它是2D游戏,并且必须与其他2D对象相撞。

我的平台上附有polygon collider 2d s(如果值得一提的话,该平台连接到平台效应器(。

现在,即使我的玩家的身体(这是图形的孩子(,这是我的玩家对象的孩子(,而我的平台上有2d colliders,它们不会碰撞,并且可以简单地走进来(它们都不是标记为isTrigger(。

为了解决这个问题,我想我会在玩家身体中添加rigidbody 2D,看看是否会做任何事情。现在,添加rigidbody 2D碰撞确实有效,但是一旦我使rigidbody 2D具有所有位置和旋转约束,或者一旦我将其做出kinematicstatic,就会停止与我的平台相撞。问题是我需要让rigidbody 2Dstatic或无法移动,因为我当前使用附加的rigidbody (3d)移动播放器对象,并且在与对象碰撞时不希望玩家车身任何其他移动。

我知道这是很多信息,因此,如果您有任何疑问或想进一步的信息,请发表评论,我会很快做出回应。谢谢: - (!

编辑:2D射线铸件也无法击中玩家身体box collider 2D

编辑2:因此回顾:

如果玩家主体或平台的rigidbody 2d不是静态(动态(,并且可以将碰撞移动起来。但是,目前,我的玩家身体上只有rigidbody 2D,但是必须是静态的(如前所述(以及box collider 2d。另一方面,我的平台目前只有polygon collider 2d,因为我不明白为什么它需要rigidbody 2D

静态对撞机如果没有刚体,如果它具有静态或具有运动型刚性体,则不会检测到另一个对撞机的碰撞。您的两个对象中的至少一个需要不静态,并且具有无法正确检测到的运动性的刚性体。因此,您确实需要在平台上添加一个刚体2D。

当您对撞机为什么不会与另一个碰撞的疑问时,请始终参考该页面的文档,总结了哪种对撞机会与另一个撞机相撞。

strigbody2d不能与刚性3D碰撞,这是一个解决方法

http://answers.unity3d.com/questions/580769/can-rigidbody-2d-collide-with-3d-colliders.html

最新更新