반응형

안녕하세요

유니티 안드로이드 플랫폼에서 화면 회전을 설정하는 법에 대해 알아보도록 하겠습니다.

설정을 위해서는 플랫폼을 Android로 변경해야 합니다.

Build Settings(Ctrl+Shift+B)에서 Platform을 Android로 설정하고 Switch Platform으로 설정합니다.

 

Android로 바뀌었으면 Player Settings버튼을 클릭합니다.

 

Project Settings창이 뜨는데, Player에 Resolution and Presentation을 선택합니다.

 

여기서 Default Orientation설정을 이용하여 화면을 회전하거나 고정할 수 있습니다.

 

설정은 5가지로 할 수 있습니다.

Portratit, Portrait Upside Down, Landscape Right, Landscape Left는 게임 시작 시 해당 방향으로 화면이 고정됩니다.

Auto Rotation은 휴대폰의 방향에 따라 화면을 회전합니다.

Portrait - 디바이스 홈버튼이 아래에 있는 세로 모드로 고정

PortraitUpsideDown - 디바이스 홈 버튼이 위에 있는 세로 모드로 고정

LandscapeLeft - 디바이스 홈 버튼이 오른쪽에 있는 가로모드로 고정

LandscapeRight - 디바이스 홈버튼이 왼쪽에 있는 가로모드로 고정

AutoRotation - 휴대폰 방향에 따라 화면이 변경됩니다.

AutoRotation을 선택하면 세부 옵션들이 생기는데, 휴대폰의 해당 방향에 따라 화면이 자동으로 회전될 것인지 설정하는 것입니다.

체크를 해제하면 휴대폰의 방향을 변경해도 화면이 회전되지 않습니다.

예를 들면 Protratit Upside Down을 체크를 해제하면 홈버튼을 위로 향하게 휴대폰 방향을 변경해도 화면을 그대로 유지됩니다.

 

참고로 코드로 직접 셋팅도 가능합니다.

Screen.orientation = ScreenOrientation.Portrait; //세로 방향을 나타냅니다.
Screen.orientation = ScreenOrientation.PortraitUpsideDown; //장치의 윗부분이 아래를 향하는, 세로 방향을 나타냅니다.
Screen.orientation = ScreenOrientation.LandscapeLeft; //가로 방향을 나타내며, 세로 방향으로부터 반 시계방향으로 회전한 상태를 나타냅니다.
Screen.orientation = ScreenOrientation.LandscapeRight; //가로 방향을 나타내며, 세로 방향으로부터 시계방향으로 회전한 상태를 나타냅니다.
Screen.orientation = ScreenOrientation.AutoRotation; //활성화된 방향으로 자동 회전 하도록 설정합니다.

 

"ScreenOrientation.AutoRotation"설정한 후 세부설정은 다음과 같이합니다.

Screen.autorotateToPortrait = false;
Screen.autorotateToPortraitUpsideDown = false;
Screen.autorotateToLandscapeLeft = true;
Screen.autorotateToLandscapeRight = true;

 

추가로 Scene별로 다르게 설정을 하려면 Scene별로 스크립트를 생성하여 GameObject에 생성해준 후 Start 함수에 위 코드를 넣어주면 될 것 같습니다.

Scene1, Scene2가 있다면 

Scene1에는 다음과 같이 넣습니다.

public class SceneManager1 : MonoBehaviour
{
    void Start()
    {
        Screen.orientation = ScreenOrientation.Landscape;
    }
}

그리고 Scene2에는 다음과 같이 코드를 작성합니다.

public class SceneManager2 : MonoBehaviour
{
    void Start()
    {
        Screen.orientation = ScreenOrientation.Portrait;
    }
}

 

조금 더 자세한 예제는 다음 글에서 확인해주세요.

https://scvtwo.tistory.com/220

 

[Unity] 씬(Scene) 별로 화면 고정하기

씬마다 다른 화면 고정을 적용하려면 다음과 같이 합니다. 직접 프로젝트를 만들면서 알아보도록 하겠습니다. 1. 어떤 씬인지 확인을 위해서 텍스트 오브젝트, 그리고 씬 이동을 위해서 버튼 오

scvtwo.tistory.com

 

반응형

+ Recent posts