Unity - PCゲームの解像度(画面サイズ)の変更、設定方法
初めに
Unity で PCゲームをビルドするとき、フルスクリーンやウィンドウ化の設定をしたり、解像度(Resolution)を設定したりする必要があります。この記事では、解像度の設定方法をまとめます。
Index
前提
PCゲームについての設定のため、プラットフォームは PC, Mac & Linux Standalone にしておきましょう。
また、Target Platform を Windows、Mac、Linux から選んでおきましょう。
Target Platform に自分が選びたいものが出てこない場合は、そのプラットフォームのモジュールがインストールされていません。(上の画像では Linux が表示されていない)その場合は、Unity Hub から下記の手順でモジュールをインストールしてください。
モジュールのインストールの仕方
- Unity Hub を開く
- インストール画面を開き、モジュールを加えたいバージョンの設定ボタンをクリックする
- 「モジュールを加える」をクリックする
- 加えたいプラットフォームのモジュールを選択し、実行ボタンをクリックする
画面サイズ、解像度の設定
Project Settings から設定できます。Edit > Project Settings... をクリックすることで開けます。
Player を開き、Settings for PC, Mac & Linux Standalone > Resolution and Presentation > Resolution > Fullscreen Mode から設定します。
Fullscreen Mode(全画面モード)の説明
Fullscreen Mode(全画面モード)は起動時のデフォルトの画面モードでもあります。次の4つから選べます。
Fullscreen Mode | 説明 |
---|---|
Fullscreen Window | 全画面表示ウィンドウ Unity で設定された解像度でレンダリングされたあと、スケールされる |
Exclusive Fullscreen | 専用全画面 Unity で設定された解像度に合わせて、ディスプレオのOS解像度を変更する ※Windows限定。他のプラットフォームではFullscreen Mode が代替使用される。 |
Maximized Window | 最大ウィンドウ macOS でメニューバーとドックが自動的に非表示になる全画面表示になる ※mac限定。他のプラットフォームではFullscreen Mode が代替使用される。| |
Windowed | ウィンドウ化 |
Windowed の場合のみ、デフォルトの画面サイズ(解像度)を設定できます。
画面サイズ変更(リサイズ)について
Resizable Window を true にすると画面サイズの変更が可能になります。逆に、画面サイズを固定しておきたい場合は Resizable Window を false にしておきましょう。
スクリプトから画面サイズを変更する
SetResolution
SetResolution 関数を用いることで解像度や Fullscreen Mode を変更することができます。
public static void SetResolution (int width, int height, bool fullscreen); public static void SetResolution (int width, int height, bool fullscreen, int preferredRefreshRate= 0); public static void SetResolution (int width, int height, FullScreenMode fullscreenMode, int preferredRefreshRate= 0);
引数は次のようになっています。
- 第1引数:width(幅、px)
- 第2引数:height(高さ、px)
- 第3引数:Fullscreen Mode(Fullscreen Window の場合は true、それ以外の場合はそのモードを記述)
- 第4引数:リフレッシュレート(Hz)
リフレッシュレートとは、ディスプレイが1秒間に画面上の画像を更新する回数を表します。
サンプル(ボタンで画面サイズを変更できるようにする)
次のスクリプトの関数をボタンから呼び出すと、画面サイズの変更ができます。
using UnityEngine; public class ResolutioinScript : MonoBehaviour { public void OnClick_960x540() { Screen.SetResolution(960, 540, FullScreenMode.Windowed, 60); } public void OnClick_1920x1080() { Screen.SetResolution(1920, 1080, FullScreenMode.Windowed, 60); } }
Button の使い方が分からない場合は、下の記事に使い方をまとめています。ぜひ、ご覧ください。
fineworks-fine.hatenablog.com