我有一个反向网格球体,法线指向内部,6个平面在这个球体外面制作立方体图,算法指向内部 .

我想知道从(0,0,0)中的摄像机射出的光线投射的位置,也是这两个数字的中心,到球体 .

我尝试使用凸网格对撞机,但球体有很多顶点,Unity不支持它 . 我的想法是检查与立方体的碰撞,然后与球体发生碰撞(使用普通的球体对撞机)与相机反转的方向 .

第二次Raycast应该到达第一次碰撞并与球体碰撞,但它报告说"print("我什么都没看! ");"

public void launchBttn()
{
    GameObject.FindGameObjectWithTag("coordText").GetComponent<Text>().text = transform.forward.ToString();

    Ray rayBox = GetComponent<Camera>().ViewportPointToRay(transform.forward);
    RaycastHit hit;
    if (Physics.Raycast(rayBox, out hit))
        print("I'm looking at " + hit.transform.name);
    else
        print("I'm looking at nothing!");

    GameObject.FindGameObjectWithTag("collText").GetComponent<Text>().text = hit.transform.position.ToString();

    Vector3 fwd = -transform.TransformDirection(Vector3.forward);

    RaycastHit hitSphere;
    if (Physics.Raycast(hit.transform.position, fwd, out hitSphere))
    {
        print("I'm looking at " + hitSphere.transform.name);

    }
    else
    {
        print("I'm looking at nothing!");
    }

    GameObject.FindGameObjectWithTag("sphereCollText").GetComponent<Text>().text = hitSphere.transform.position.ToString();
}