fullstack

[Unity] Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y") 터치입력시 사용법

Unity

Unity 에서 마우스 움직임 값을 받아 사용하려고 Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y") 를 많이 사용합니다

 

다음과 같은 코드가 있다고 가정해 보겠습니다

float x = Input.GetAxis("Mouse X");
float y = Input.GetAxis("Mouse Y");

 

그러나 모바일 디바이스에서 이를 그대로 사용하면 값이 변형되어 원하는 결과를 얻을 수 없습니다

모바일 디바이스에서는 Input.touches 의 deltaPosition을 사용해야 합니다

 

다음과 같이 코드를 작성하면 PC와 모바일 디바이스 모두에서 정상 동작 할 수 있습니다

float x = Input.GetAxis("Mouse X");
float y = Input.GetAxis("Mouse Y");
if (Input.touchCount > 0)
{
    x = Input.touches[0].deltaPosition.x;
    y = Input.touches[0].deltaPosition.y;
}