C# 同一物体中两台对撞机的检测

C# 同一物体中两台对撞机的检测,c#,object,unity3d,touch,collider,C#,Object,Unity3d,Touch,Collider,我有一个问题,我有一个3D动画,我添加了两个碰撞器 我这样做是因为我想检测用户何时触摸头部、胸部或abs区域。如图所示,在胸部上部区域,我在臀部和头部添加了一个球体对撞机。我有碰撞器,我有这个脚本 public class OnTouch : MonoBehaviour { public int cuerpo = 2; void Update () { if (!Input.GetMouseButtonDown(0)) return;

我有一个问题,我有一个3D动画,我添加了两个碰撞器

我这样做是因为我想检测用户何时触摸头部、胸部或abs区域。如图所示,在胸部上部区域,我在臀部和头部添加了一个球体对撞机。我有碰撞器,我有这个脚本

public class OnTouch : MonoBehaviour 
{
    public int cuerpo = 2;

    void Update () 
    {
        if (!Input.GetMouseButtonDown(0)) return;

        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        Debug.Log("entre");

        if (!Physics.Raycast(ray,out hit)) return;

        Debug.Log("entre2");
        Debug.Log(hit.collider.name);

        if (hit.collider.name == "head") { }
        else if (hit.collider.name == "chestUpper") { }
        else if (hit.collider.name == "abdomenUpper") { }
        else if (hit.collider.name == "hip") { }    
    }
}
问题是,有时我在统一运行鼠标时会检测到鼠标,有时。。当我在手机上构建并运行项目时,总是检测到头部,但其他碰撞器没有检测到。
如何解决这个问题

它总是检测头部,你的意思是,如果你按下身体的另一部分,它就会在你按下头部时出现?不,当我在unity上运行它时,一切正常,问题是当我在手机上运行它时,只检测头部的对撞机,其他的没有,但对撞机的对撞机只有在触摸头部时才会被检测到(这意味着很好,你有大型碰撞器连接到父模型吗?可能碰撞器正在阻止光线投射。你能在
else if
的末尾添加
else
,看看是否有其他东西被击中吗?嗨,嗯,我从资产商店下载了这个对象,我想是的,有一个刚体,但如果这是个问题,我不能我没有检测到任何一个视图(笔记本电脑和手机中的统一)没关系,那是我的手机,我在另一部手机中运行了它。我一切正常,抱歉,谢谢你的回答