스크린 좌표를 월드 좌표, NGUI 좌표로 전환하기
- 마우스 및 터치 인풋의 좌표를 게임 상의 월드 좌표와 NGUI 좌표로 변환할 때 사용한다.
- 기준 해상도는 게임 제작 시 정한 표준 해상도를 의미한다.
//기준 해상도 standardWidth=1280f, standardHeight=720f
Debug.Log("Standard Width:" + standardWidth + " Standard Height:" + standardHeight);
//현재 스크린 해상도
Debug.Log("Screen width:" + Screen.width + " height:" + Screen.height);
//스크린 좌표를 월드 좌표로 변환하기
var mousePos = Input.mousePosition;
Debug.Log("Mouse PosX:" + mousePos.x + " PosY:" + mousePos.y);
var worldPos = Camera.main.ScreenToWorldPoint(mousePos);
Debug.Log("World PosX:" + worldPos.x + " PosY:" + worldPos.y);
//스크린 좌표를 NGUI 좌표로 변환하기
var touchPos = UICamera.currentTouch.pos;
Debug.Log("Touch PosX:" + touchPos.x + " PosY:" + touchPos.y);
var nguiPosX = (touchPos.x - Screen.width / 2) * (standardWidth / Screen.width);
var nguiPosY = (touchPos.y - Screen.height / 2) * (standardHeight / Screen.height);
Debug.Log("nguiPos PosX:" + nguiPos.x + " PosY:" + nguiPos.y);
'게임 개발 > Unity3D' 카테고리의 다른 글
[Unity | 유니티] OnApplicationFocus(bool value) vs. OnApplicationPause(bool value) (1) | 2019.10.08 |
---|---|
[Unity | 유니티] Monobehaviour LifeCycle (0) | 2019.09.10 |
[Unity | 유니티] NGUI와 ParticleSystem간 Depth 조정 (1) | 2019.09.06 |
[Unity | 유니티] 메모리 최적화 (0) | 2019.09.06 |
[Unity | 유니티] Manager vs. Controller vs. Handler (1) | 2019.03.11 |