カテゴリー
Unity

【Unity】画面サイズを取得する

アスペクト比の違いで生じる画面サイズを取得します。

基本設定

Canvasにある「Canvas Scaler」の設定を下記のようにしています。

  • [ Canvas Scaler ] → UI Scale Mode => Scale With Screen Size
  • [ Canvas Scaler ] → Reference Resolution => x : 1920 Y : 1080
  • [ Canvas Scaler ] → Screen Match Mode => Match Width Or Height

サイズ取得

[ Canvas Scaler ] → Match => Height(1)で設定している場合


float defaultAspect = 1920f / 1080f;
float currentAspect = Screen.width / (float)Screen.height;
float ratio = currentAspect / defaultAspect;

int maxScreenWidth = Mathf.RoundToInt((1920f * ratio);
int maxScreenHeight = 1080; // Heightは変わりません

[ Canvas Scaler ] → Match => Width(0)で設定している場合


float defaultAspect = 1080 / (float)1920;
float currentAspect = Screen.height / (float)Screen.width;
float ratio = currentAspect / defaultAspect;

int maxScreenWidth = 1920; // Widthは変わりません
int maxScreenHeight = Mathf.RoundToInt(1080f * ratio);

ブログランキング・にほんブログ村へ 記事が良ければ押してください。


『恐竜博物館』(Google Play)
初めてゲーム(Android)を作成しました。放置ゲームなので時間の空いた時にポチポチできます。是非やってみてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です