👌

RPG Maker Uniteのウィンドウサイズを任意のサイズにする方法

2024/05/20に公開

RPG Maker Unite のウィンドウサイズは現状、メニュー側では1980*1080しか設定できません。

ウィンドウサイズ

これはフルスクリーンならともかく、ウィンドウサイズとして大きすぎるのでウィンドウサイズをコードから変更する方法を調査しました。

方法

RPGMaker\Codebase\CoreSystem\Knowledge\DataModel\SystemSetting\SystemSettingDataModel.cs に以下のプロパティとメソッドがありました。

public int displaySize;
public List<Vector2Int> DisplaySize = new List<Vector2Int>
{
    new Vector2Int(1980, 1080),
    new Vector2Int(1280, 720)
};

// 省略

public Vector2Int GetDisplaySize() {
    return DisplaySize[displaySize];
}

どうやら DisplaySize にあるウィンドウサイズのうち、メニューで設定されたものを参照するようになっているようです。(現状は1980*1080しか選択できないため、1280*720が実質無いも同然になっています)

DisplaySize の1980*1080を変更したいサイズに設定すれば変更できました。

或いは GetDisplaySize() の返り値を変更して直接返すようにしてもいいかもしれません。

public Vector2Int GetDisplaySize() {
    return DisplaySize[1];
}

追記

Assets\RPGMaker\Codebase\Editor\Inspector\Environment\View\EnvironmentInspectorElement.cs に解像度の設定項目が存在していました。

        /// <summary>
        /// 初期化処理
        /// </summary>
        override protected void InitializeContents() {
            base.InitializeContents();

            _systemSettingDataModel = databaseManagementService.LoadSystem();

            var sizeList = new List<string>
            {
                _displaySizeList[0]
#if UNITY_SWITCH
                , _displaySizeList[1] // Switch上でないと無視される
#endif
            };

UNITY SWITCH はNintendo Switch用のdefineです。
Switch用にコンパイルするための解像度なのかもしれませんが、そもそもSwitch上でないと選択できないのでよくわからないコードですね。

UNITY SWITCH を消せばUnity上で解像度を変更できるようになりました。

ウィンドウサイズ2

Discussion