是的,有,但这意味着您需要摆脱启动窗口。
原因是,如果您启用启动窗口(您可以从中选择分辨率、质量、窗口或全屏模式等),Unity 将仅显示显卡可用的分辨率 - 并且这意味着没有可用的 1:1 纵横比分辨率。
因此,为了做到这一点,您需要按如下方式设置播放器设置:
重要的部分是禁用Display Resolution Dialog。
然后通过禁用Default Is Native Resolution 来设置Default Screen Width 和Height。
请注意,单机版将在开始时强制使用此分辨率,并且仅此分辨率 - 在初始屏幕之后,您可以通过从加载的第一个场景中的任何脚本调用 Screen.SetResolution 方法来设置所需的任何分辨率。
当然,您可以通过取消勾选/勾选Default Is Full Screen 选项,以窗口或全屏模式使独立启动。
差不多就是这样,如果您想让用户从 1:1 的 AR 分辨率列表中进行选择,您目前还做不到。
编辑:播放器设置的分辨率信息存储在HKEY_CURRENT_USER\Software\[YourCompanyName]\[YourGameName] 内的注册表中。
三个键是:
Screenmanager Is Fullscreen mode
Screenmanager Resolution Height
Screenmanager Resolution Width
要在运行时从游戏内部更改这些,您需要使用:
PlayerPrefs.SetInt("Screenmanager Is Fullscreen mode", [0/1]);
PlayerPrefs.SetInt("Screenmanager Resolution Height", [HeighthRes]);
PlayerPrefs.SetInt("Screenmanager Resolution Width", [WidthRes]);
这些将在下次启动游戏时读取,在启动画面之前设置起始分辨率。