如何在立方体对象中使用多个对撞机?

时间:2015-08-09 13:47:23

标签: unity3d

如何在立方体对象中使用多个对撞机?

我有一个立方体对象。如果你触摸右侧动作A发生;如果你触摸左侧动作B发生。

我在立方体对象上附加了两个盒子对撞机。

我的源代码是:

void Update () {
    if (Input.GetMouseButtonDown(0)){
        Ray ray = camera.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit)){
            // I catch the event that any collider is clicked;
            actionA(hit.transform.gameObject);
            // or
            actionB((hit.transform.gameObject);// How can I tell which collider is clicked????
        }

    }
}

1 个答案:

答案 0 :(得分:2)

我在这些情况下做的是添加一些Child GameObject,每个只有一个Box Collider。您可以更改GameObjects的名称,在代码中对它们进行比较。像这样:

  • 立方
    • A面
    • Side B

Cube with Inspector

Side A

Side B

然后,在您的代码中,在您的光线投射后,您与

进行比较
if(hit.gameObject.name.Equals("Side A"))
{
    //do something
}