在Unity中更改分辨率时遇到问题

时间:2019-10-17 06:48:10

标签: unity3d resolution scaling

我正在Unity中制作游戏,更改游戏分辨率时无法获得预期的结果。 我想要通过游戏菜单更改分辨率的功能,而不是内置的Unity功能。

分辨率的变化非常容易:

Screen.SetResolution(1024, 768, FullScreenVar);

FullScreenVar可以为true或false,这取决于我是否要全屏显示。

但是,无论我尝试哪种选择,我仍然无法获得确切的结果。 我想做的与其他游戏中的做类似。

选项1:游戏已打开窗口。

在这种情况下,我希望游戏窗口的大小与我所需的大小相同。 就像,如果我想要1024x768,则窗口的大小就是这个特定大小。 但是,窗口通常更大,并且有实际的内容,被蓝框包围。

enter image description here

在进行一些谷歌搜索之后,我还尝试更改了宽高比,但是并没有做太多更改。 我也尝试过在Unity本身中使用设置,但结果却更奇怪:就像游戏屏幕上只有一部分内容一样,好像一切都向右下移一样。

所以,问题1:我该怎么做才能使游戏窗口“纯净”且内容周围没有边框?

选项2:游戏为全屏显示。

在这种情况下,理想的输出是全屏显示,所有内容都会调整大小。因此,如果玩家选择上述1024x768,并且他的桌面分辨率为1600x900,则游戏内容必须扩展到新的大小。

相反,我得到的内容与中间结果相同,周围环境空白。

问题2:在全屏模式下,如果选择的分辨率较小,如何将所有图像拉伸到全屏?

第三个问题也与分辨率有关,但略有不同。 在Unity本身中,我正在使用所有屏幕1600x900的默认大小。 但是,一个玩家抱怨说,他设置了1920x1080(更高的像素),这导致游戏按钮放错了位置\调整了大小。 我还没有看到,所以不能说什么具体,但是他说,要更改选项屏幕中的任何内容,他必须自己单击按钮,而不是单击附近的按钮。

问题3:由于实际分辨率高于Unity本身的默认屏幕尺寸,我是否纠正了这种情况?如果可以,如何解决?


游戏的组织方式。

它仅使用一个主要场景。 该场景具有摄像机和名为“ areaContainer”的主要游戏对象,其中包括子游戏对象,这些子游戏对象用作游戏区域。 其中有些是1600x900,有些是1508x700,因为它们还具有UI。

enter image description here

据我了解,相机显示areaContainer。 这是它们的属性。

enter image description here


我尝试过的操作:

1)专门使用Canvas Scaler和render Mode来使用areaContainer属性,但是我尝试设置的任何内容都没有达到预期的效果。 2)在代码本身中更改长宽比。

无论我尝试什么,都只能得到更奇怪的结果:例如,图像放错了位置,例如被放在一边并上下移动。

请帮助我解决这些问题。

提前谢谢大家, 叶夫根尼(Evgenie)

0 个答案:

没有答案