Unity3d Unity player boxcollider 2d接触法向量错误

Unity3d Unity player boxcollider 2d接触法向量错误,unity3d,Unity3d,当播放器盒碰撞器2d与平台水平接触时(两个与(-1,0)向量接触,两个与(0,1)向量接触),这种错误很少发生(可能是与平台发生100次碰撞中的1次)。这是非常有问题的,因为玩家不能向前跳(只是在没有任何x速度的情况下跳起来),而且看起来它撞到了一堵看不见的墙。我尝试将“物理2D”设置中的默认接触偏移增加到0.01,但没有帮助。我正在创建一个像素艺术游戏,每单位16像素 经过研究,我终于找到了解决问题的方法。我的问题是,播放器卡在我的瓷砖之间,每个瓷砖都有一个boxcollider和Tilema

当播放器盒碰撞器2d与平台水平接触时(两个与(-1,0)向量接触,两个与(0,1)向量接触),这种错误很少发生(可能是与平台发生100次碰撞中的1次)。这是非常有问题的,因为玩家不能向前跳(只是在没有任何x速度的情况下跳起来),而且看起来它撞到了一堵看不见的墙。我尝试将“物理2D”设置中的默认接触偏移增加到0.01,但没有帮助。我正在创建一个像素艺术游戏,每单位16像素

经过研究,我终于找到了解决问题的方法。我的问题是,播放器卡在我的瓷砖之间,每个瓷砖都有一个boxcollider和TilemapCollider2D。我修复了它,将每个碰撞器移除为一个整体,并添加了一个组合:

  • 将TilemapCollider2D添加到平铺层的组件中
  • 选中TilemapCollider2D中的“由复合材料使用”字段
  • 将Rigidbody2D设置为静态
    • 我必须检查多边形的复合碰撞器,否则我无法对刚体施加任何力

    经过研究,我终于找到了解决问题的方法。我的问题是,播放器卡在我的瓷砖之间,每个瓷砖都有一个boxcollider和TilemapCollider2D。我修复了它,将每个碰撞器移除为一个整体,并添加了一个组合:

  • 将TilemapCollider2D添加到平铺层的组件中
  • 选中TilemapCollider2D中的“由复合材料使用”字段
  • 将Rigidbody2D设置为静态
    • 我必须检查多边形的复合碰撞器,否则我无法对刚体施加任何力

    我假设这只发生在我的播放器撞到瓷砖边缘时,因此发生碰撞错误(如图所示)。我假设这只发生在我的播放器撞到瓷砖边缘时,因此发生碰撞错误(如图所示)。