unity Raycast2D ScreenPointToRay 报错

Unity Raycast2D ScreenPointToRay gives an ERROR

我想用我的鼠标位置创建一个简单的 Ray2D:

//Create a ray
Ray2D ray = cam.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;

报错:Ray cannot be converted into Ray2D 我该如何解决这个问题?

那是因为您使用的是 "ScreenPointToRay",其中 returns 是 "Ray" 而不是 "Ray2D"。

试试这个:

RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);