来自对撞机的有害碰撞-检查矩阵和图层中是否禁用

时间:2018-12-21 22:12:13

标签: unity3d

我有一个播放器对象,放置在“播放器”层上。我未将碰撞矩阵中的Player / Player选中(不是physics2D)。

layer masks

做到了这一点,所以我可以不碰到另一个玩家。 但是我注意到,如果我跳到另一个玩家的上面,那么我就会被卡在“头”上。 https://gyazo.com/112d91b4edc3bb5e1de827ff69b9297d

我尝试从OnCollisionEnter函数进行调试,但是当我在其他播放器上方时,它什么也没显示,而当我在地面上时,它会打印出来。

    private void OnCollisionEnter(Collision collision)
{
    print(collision.gameObject);
    print(collision.gameObject.layer);
    print(collision.gameObject.GetComponent<Collider>());
}

在运行时在其中一个播放器上禁用对撞机显然使我跌入了另一个播放器,但我不能那样做。

1 个答案:

答案 0 :(得分:0)

用于处理角色物理的地面探测射线束没有正确的layerMask

它需要包括玩家layerMask,以便不会导致与地面接触的误报。