0

我正在制作一个自定义的 Unity 编辑器 GUI 窗口,我只想让它保持在屏幕的正中央。令人惊讶的是,这比我想象的在 Mac 上更难。

这是我的代码:

....
windowRect.center = new Rect(0, 0, Screen.currentResolution.width, Screen.currentResolution.height).center;
....

问题是,在原生分辨率为 5120*2880 的 5K iMac 上,macOS 默认使用 HiDPI 将所有内容缩放到 2560*1440。在 Unity 中,Screen.currentResolution返回 5120*2880 而不考虑 HiDPI 缩放,但我需要那种甜蜜的缩放分辨率。

我也尝试过其他功能。Display.main.systemWidth返回 1920 而不是 5120 或 2560。

有没有办法做到这一点?还是我只是运气不好?我正在使用 Unity 2018.1.9f1。

另外,如果有办法获得整个 Unity 编辑器窗口(不是游戏窗口)的大小,我会很好。提前致谢!

4

2 回答 2

0

Editor中,Screen.currentResolution显示游戏窗口的分辨率。您可以启用Maximize On Play以使用最大化的窗口分辨率。

如果您部署到 MacOS 应用程序,它应该是正确的 5K 分辨率。

于 2018-08-03T09:03:27.333 回答
0

这是在一个旧线程中,但如果有人仍然想知道,我发现 Screen.resolutions 在视网膜设备上返回的最高分辨率是“魔法”分辨率。这是您在设备设置中看到的“看起来像 X x Y”。

据我所知,文档中没有提到这一点,所以我不确定从长远来看是否可以依赖,但目前 Unity 2018.3 就是这种情况。

于 2021-06-10T04:53:12.570 回答