我正在制作类似Tetris的游戏,并且我有要随机生成的每个块的预制件。问题是我正在使用光线投射碰撞检测,并且所有块都具有相同的图层蒙版。我将块放置在它们自己的碰撞遮罩上,预制块开始上升而不是下降,因为预制生成对象似乎只是在与自身碰撞。我基本上是想让彼此之间碰撞的障碍,而不是彼此碰撞。如果collisionMask与游戏对象不同,则该代码可以正常工作。
RaycastHit2D hit = Physics2D.Raycast(rayOrigin, Vector2.right * directionX, rayLength, collisionMask);