程序构建后分辨率会发生变化

Resolution changes once program is built

我正在以 1920x1080 分辨率(与我的显示器相同)创建一个 Unity 项目。在 Unity 编辑器中测试程序时一切看起来都很好——但是,一旦构建,分辨率就会变为不可用状态。

我可以选择更改分辨率,但是,我认为这不是问题所在,因为甚至在更改设置之前分辨率就乱七八糟了。

截图: In Unity , Built

这里有一些代码片段,如果我仔细查看了某些内容,它们可能是问题的原因。代码来自这个tutorial

void Start ()
{
     resolutions = Screen.resolutions;
     currentResolutionIndex = PlayerPrefs.GetInt(RESOLUTION_PREF_KEY, 0);
     SetResolutionText(resolutions[currentResolutionIndex]);
}
private void SetAndApplyResolution(int newResolutionIndex)
{
     currentResolutionIndex = newResolutionIndex;
     ApplyCurrentResolution();
}

private void ApplyCurrentResolution()
{
     ApplyResolution(resolutions[currentResolutionIndex]);
}

private void ApplyResolution(Resolution resolution)
{
     SetResolutionText(resolution);
     Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen);
     PlayerPrefs.SetInt(RESOLUTION_PREF_KEY, currentResolutionIndex);
}

您需要在独立播放器设置Resolution and Presentation section中设置分辨率

您将能够设置 window 从独立版本打开时的显示方式。

您可以通过脚本在 Start() 中设置分辨率并写入此行 Screen.SetResolution(1920,1080,false); 这会将您的默认分辨率设置为 1920*1080。 试试这个,希望对你有帮助。

为了解决这个问题,我刚刚使用了 Unity 的内置 'display resolution dialogue'。

这看起来有点偷懒,但是,它完美地解决了问题,并且还提供了图形选项更改。

也许以后我会回来合并分辨率设置,但现在启动游戏前的短弹窗没问题。