Unity2019.3版本后在PlayerSetting中取消设置分辨率对话框

文章目录[x]
  1. 1:介绍
  2. 2:环境
  3. 3:方法1
  4. 4:方法2
  5. 5:方法3
  6. 6:方法4
  7. 7:方法5
  8. 8:参考

介绍

它在 Player of Project Display Resolution DialogSettings 中,但从Unity 2019.3 左右消失了。

就我个人而言,我经常想稍微调试或更改分辨率,因此我认为我以后必须自己处理它。
以下是我想到的方法。

环境

  • Windows10
  • Unity 2019.3及以后版本

方法1

实现 UI 和函数来指定 Unity 场景中的分辨率。

UnityEngine.Screen.SetResolution如果你在它运行时调用它,分辨率就会改变。
但是,实施起来不方便,不够灵活。

Screen-SetResolution --Unity 脚本参考

https://docs.unity3d.com

 

方法2

创建一个显示分辨率对话框(启动器)。

如果您准备将命令行参数传递给 Unity 导出的 exe 的 启动器,它就像以前一样以指定的分辨率启动。
由于可以在启动Unity程序之前指定,所以没有屏幕切换,很流畅。

  • -屏幕全屏
  • -屏幕高度
  • -屏幕宽度
  • - 屏幕质量

~~.exe -screen-width 1280 -screen-height 720

但是,需要单独写一个启动器程序。

命令行参数 --Unity 手册

https://docs.unity3d.com

 

方法3

直接传递命令行参数。

方法(2)实现启动器比较困难,所以在Windows的命令提示符或快捷方式中传递参数并立即启动它也是可以的。
如果是快捷方式,则如下所示。

  1. 为Unity导出的exe创建快捷方式。
  2. 打开属性并在链接后添加一个参数。

方法4

在第一个场景中写一个设置分辨率的界面,设置好之后再进入main场景。

参考:https://github.com/sitterheim/UnityResolutionDialog

方法5

这个方法是unity官方提供的,我没有亲自尝试过,好像是替换掉打包好的exe文件。  按下面方法

参考:https://github.com/Unity-Technologies/DesktopSamples/tree/master/ScreenSelectorExample


将示例工程下载下来,发现核心代码就两个文件ClosingScript.cs、PostProcessLauncherCopy.cs。

将这两个文件拷贝到自己的工程任意位置(最好归下类scripts)中后,发布前要将LauncherExecutable文件夹也复制到自己的工程assets文件夹同目录下,否则提示错误。

运行程序,就会弹出选择分辨率的对话框了。

2022/08/17


参考

显示分辨率对话框弃用:https://forum.unity.com
点赞

发表回复

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像