프로그래밍 정리/Unity

[Unity - 유니티] 스크린 터치(Screen Touch) - ScreenPointToRay 함수

주누다 2014. 6. 10. 04:19
반응형

모바일 스크린 터치


 모바일 스크린에서 터치한 좌표는 2차원 좌표임.

2차원 좌표를 3차원 좌표로 변화시켜 특정 오브젝트를 검출하는 방법으로

ScreenPointToRay 함수가 있음.


 모바일 스크린테 터치한 좌표는 Screen Point 좌표로 2차원 좌표임.

이 좌표를 3차원에 투영하고 메인 카메라에서 투영된 3차원 좌표로

Ray를 발사함. 

 Ray를 통해 Raycast 함수를 사용하여 광선에 맞은 객체를 알아낼 수 있음.


 DrawRay(Vector3 start, Vector3 dir, Color color) 함수를 통해

Ray를 확인할 수 있음.




ScreenPointToRay

 ScreenPointToRay 함수는 Camera 클래스의 함수.

스크린 좌표를 인수로 넘겨주면 카메라에서 시작하여

스크린 좌표에 해당하는 3차원의 좌표로 Ray를 생성시켜줌.


ex)

Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

※ Input.mousePosition - 마우스 커서의 위치를 Vector3 타입이지만 

Z 값은 무시하고 X, Y 값만 사용.



반응형