设置Unity独立Windows构建的最低分辨率



我正在寻找一种为Windows的Unity独立构建设置最低分辨率的巧妙方法。

Unity版本:2019.1.2f1

目前正在使用以下内部更新:

#if !UNITY_EDITOR
if (Screen.width < 800 || Screen.height < 450)
Screen.SetResolution(800, 450, false);
#endif

您的代码看起来不错。没有其他方法可以设置最小分辨率。

但必须将其移出更新循环。将其称为所有帧并不具有性能,而且我看不到在运行时分辨率可能会自行更改的有效情况。

我建议在游戏的第一个场景中将脚本放入MonoBehaviourAwake中。

public class ResolutionStarer : MonoBehaviour
{
private void Awake()
{
#if !UNITY_EDITOR
if (Screen.width < 800 || Screen.height < 450)
Screen.SetResolution(800, 450, false);
#endif
}
}

你也可以看看这个(麻省理工学院图书馆的(处理分辨率的脚本,并为你提供进一步的选择,比如改变分辨率或将游戏设置为窗口。

尽管如此,为了这个问题,他们对Screen.widthScreen.height使用相同的检查,以避免低于_minWidth_minHeight的分辨率。并且他们使用相同的方法Screen.SetResolution来设置分辨率。

最新更新