상상 너머 그 무언가...

Unity3d Android 해상도 설정하기 ( Screen.SetResolution ) 본문

개발관련(Development)/유니티3D(Unity3D)

Unity3d Android 해상도 설정하기 ( Screen.SetResolution )

Clack 2012. 4. 10. 16:46


유니티로 게임을 만들었는데
기기마다 해상도의 가로세로 비율이 다 제각각 이여서 개발자 입장에서는 각각의 해상도마다 수정작업을 하러면 좀 짜증이 난다.
뭔가 방법이 있을거 같아서 검색해봤더니 답이 있었다.


Screen.SetResolution 라는 메소드를 사용하면 대부분의 안드로이드 단말기의 해상도에 맞춰 게임화면을 변경할 수 있다.

Screen.SetResolution( 원하는 해상도 width값, 원하는 해상도 height값, 풀스크린 여부 );


나의 경우는 아이폰 해상도 비율인 2:3에 맞춰서 작업을 해두었기 때문에 
안드로이드에서도 2:3 비율로 작업한 이미지들이 짤리지 않게 하기 위해 게임이 실행하는 단말기의 스크린값을 아래와 같이 수정하였다.

Screen.SetResolution(Screen.width, (Screen.width/2)*3, true);  // 2:3 screen rate


겔럭시S 의 경우 해상도가 480 x 800 인데 위와 같이 입력해주면 의도했던 모든 UI가 짤림 없이 화면에 다 보여진다.
단점으로는 이미지가 단말기의 해상도 비율에 따라 UI가 길죽하게 보여지거나 넓직하게 보여지게 된다. 
( 16:9  비율의 디지털TV 에서 4:3 비율의 케이블 방송을 보는것과 같은 현상)


※ 주의 : SetResolution 메소드가 동작하지 않는 단말기도 있다고 한다.