Camera.main.ScreenPointToRay(Vector3 pos)
화면 좌표를 기반으로 광선을 생성하는 함수로, 주로 마우스 클릭이나 터치 입력을 월드 공간에서 인식하는 데 사용됩니다.
이 기능을 활용하면 스크린에서 클릭한 지점을 3D 월드에서 어떤 오브젝트가 위치하는지 판단할 수 있어, 주로 레이캐스트(raycasting)
와 함께 충돌 감지에 사용됩니다.
예를 들어, 유저가 화면을 터치했을 때 해당 위치에 있는 오브젝트를 선택하거나 상호작용하는 기능을 구현할 때 활용됩니다.
매개변수 pos
는 화면 픽셀의 x, y 좌표값입니다. (0, 0) 부터 시작해서 (해상도 가로 - 1, 해상도 세로 - 1)까지의 값을 가집니다. 위 사진에서 주황색 점은 화면 상 (1100, 500) 좌표를 가집니다.
이 함수의 반환 값은 Ray
입니다. Ray
는 카메라의 near clip plane
에서 시작하여, 월드로 뻗어나갑니다. 즉, 화면에서의 좌표인 pos
가 near clip plane
위의 월드 좌표로 변환되고, 이 점에서 시작되는 Ray
가 생성되는 것입니다. 카메라에서부터 시작되는 게 아닙니다!!
이 때, Ray
의 방향은 카메라의 위치에서 near clip plane
의 한 점으로 나아가는 방향입니다.