読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

端末を回転させた際の画面の向きを固定する

Unity iOS Android

Unity は ProjectSettingsResolution and presentationw Default OrientationAuto Rotation に設定することで、端末を傾けた際に傾けた方向へ向くように設定出来る。

この際、横(Landscape)にチェックを外すと、上下に回転するようになる(Unity のゲームを作ってる人はぜひとも上下回転に対応させて欲しい。そうすればゲームを充電しながらプレイ出来る)

スクリーンショット 2014-06-04 0.03.49
その際、回転を固定したくなるケースがあるかもしれない。そんな場合はこんな感じに記述すると、回転を固定することが出来る。

        switch (Screen.orientation) {
        case ScreenOrientation.Portrait:
            Screen.orientation = ScreenOrientation.Portrait;
            break;
        case ScreenOrientation.PortraitUpsideDown:
            Screen.orientation = ScreenOrientation.PortraitUpsideDown;
            break;
        case ScreenOrientation.LandscapeLeft:
            Screen.orientation = ScreenOrientation.LandscapeLeft;
            break;
        case ScreenOrientation.LandscapeRight:
            Screen.orientation = ScreenOrientation.LandscapeRight;
            break;
        }
もし回転可能に戻したい場合、以下のコードを実行する。

Screen.orientation = ScreenOrientation.AutoRotation;
もしAutoRotationの設定を弄りたい場合、以下の設定を変更する。
trueで回転する、falseで回転しない。

Screen.autorotateToPortrait = true; // 縦
Screen.autorotateToLandscapeLeft = true; // 左Screen.autorotateToLandscapeRight = true; // 右Screen.autorotateToPortraitUpsideDown = true; // 上下逆