【Unity】ウィンドウやディスプレイのサイズを取得する

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【Unity】ウィンドウやディスプレイのサイズを取得する

2022-6-29 |

Unityでアプリケーションのウィンドウやディスプレイのサイズを取得したい!セーフエリア(スマホでノッチなどを含まない範囲)も取得したい!

概要

この記事では、Unityでアプリケーションのウィンドウやディスプレイのサイズ、セーフエリアを取得する手順を掲載する。

仕様書

環境

  • Unity 2021.3.3f1

手順書

まず、アプリケーションのウィンドウのサイズを取得する手順。
Screen.widthで横幅を、Screen.heightを高さを取得できる。

int w = Screen.width;
int h = Screen.height;

// ウィンドウの横幅を表示する
Debug.Log("Screen.width: " + w);
// ウィンドウの高さを表示する
Debug.Log("Screen.height: " + h);

次にアプリケーションを実行してるウィンドウが存在するディスプレイの解像度を取得する手順。
Screen.CurrentResolution.widthで横幅を、Screen.CurrentResolution.heightを高さを取得できる。

int w = Screen.CurrentResolution.width;
int h = Screen.CurrentResolution.height;

// ディスプレイの横幅を表示する
Debug.Log("Screen.CurrentResolution.width: " + w);
// ディスプレイの高さを表示する
Debug.Log("Screen.CurrentResolution.height: " + h);

最後にセーフエリア(スマホでノッチなどを含まない範囲)の矩形範囲を取得する手順。
Screen.safeAreaでセーフエリアをUnityEngine.Rectクラスで取得できる。

Rect safeArea = Screen.safeArea;

// セーフエリアの始点xを表示する
Debug.Log("x: " + safeArea.x);
// セーフエリアの始点yを表示する
Debug.Log("y: " + safeArea.y);
// セーフエリアの横幅を表示する
Debug.Log("width: " + safeArea.width);
// セーフエリアの高さを表示する
Debug.Log("height: " + safeArea.height);

まとめ(感想文)

様々なディスプレイのサイズに対応するアプリケーションを作るにあたって、ウィンドウのサイズの情報は必要になることが多いかもね!

特にモバイル向けの開発だとセーフエリアの取得はほぼ必須だと思う。