我使用MainCamera`ray来使GameObject发生碰撞,但如果GameObject是Image,我就不能碰撞Iamge,我该怎么办?

时间:2016-07-21 12:45:31

标签: android unity3d unity5

if (Physics.Raycast(ray, out hit))
    {
        if (hit.collider.name.StartsWith("Image"))
        {//can not get image
            Debug.Log("OK");
            image = GameObject.Find(hit.collider.name).gameObject;
            Debug.Log ("image.name:"+image.name);
        }
    }

获得碰撞的代码。

如果射线到图像,我就无法得到碰撞事件。

如何获得图像冲突

1 个答案:

答案 0 :(得分:0)

如果图片是UI Image。您可以使用Event System's raycast。 或者如果通过图像,则表示附加有精灵渲染器的2D对象。你需要一个Box对撞机。

顺便说一下image = GameObject.Find(hit.collider.name).gameObject;是错误的。你可以像这样得到gameObject:image = hit.collider.gameObject;