👌
RPG Maker Uniteのウィンドウサイズを任意のサイズにする方法
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上で解像度を変更できるようになりました。
Discussion