C# 光线投射不会击中对象

C# 光线投射不会击中对象,c#,unity3d,unity5,unity3d-2dtools,C#,Unity3d,Unity5,Unity3d 2dtools,为什么触摸后此代码不打印任何内容 void Update() { if (Input.touchCount > 0) { RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), Vector2.zero); if (hit) { print(hit.trans

为什么触摸后此代码不打印任何内容

    void Update()
{
    if (Input.touchCount > 0)
    {
        RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), Vector2.zero);
        if (hit)
        {
            print(hit.transform.name);
        }
    }
}
试试这个:

if (Input.touchCount > 0)
    {
        RaycastHit2D hit;

        if (Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), Vector2.zero, out hit))
        {
            print(hit.transform.name);
        }
    }

因为它想让你给我们更多的信息。例如,您尝试使用光线投射击中的对象是否具有某种类型的碰撞R2D,它们是否可以设置为忽略光线投射?您尝试击中的对象是什么类型的?当它被选中时放上它的截图会很有帮助。此外,将
打印(“内部触摸”)0)
中的code>。你必须告诉我们代码中的错误。你不应该寻找转换所附加到的游戏对象的名称吗?所以类似于
hit.transform.gameObject.name
?@Programmer为什么这个Camera.main.ScreenToWorldPoint(Input.toucks[0].position)返回相机位置而不是触摸位置?您最后的问题/评论是错误的。请考虑回答我的问题,我的第一个评论。不要忽略其他评论,因为他们的评论意味着他们想帮助你。