如何在 Unity 中为 Windows build 设置纵向纵横比

How to set portrait aspect ratio for Windows build in Unity

我正在尝试为单机构建一个统一项目,并且游戏是纵向配置。当我在编辑器中测试它时一切正常,但是当我构建它时,所有 UI 相关的东西都搞砸了,我的意思是它试图适应屏幕的纵横比导致许多按钮和 UI尽管甚至通过 Screen.SetResolution(1080, 1920, false); 手动尝试更改屏幕尺寸并在构建设置中阻止游戏进入全屏模式,但元素仍会在屏幕外,这样它就会变成纵向纵横比,但没有任何效果。游戏本身运行良好,这显然不是 UI 或任何 canvas 的一部分。任何帮助将不胜感激!

UI 缩放很棘手,尤其是当你有不同的宽高比,而且如果你有不同的分辨率 (although they are different)。根据我的经验,最重要的事情是确保尽可能合理地锚定内容,为动态内容(下拉菜单、实例化元素等)使用布局组,并在 [=23] 上使用 CanvasScaler 组件=].

Canvas Scaler component can be found on your canvas object in the scene, and is the first place to start when dealing with variable screen sizes. 。此模式最适合可变屏幕尺寸,您可以将其设置为您喜欢的屏幕尺寸,然后让 UI 适合该尺寸,然后根据您的理想尺寸自动缩放。

一般来说,很难说什么是 anchor your UI elements 的最佳方式,但如果您不希望它们居中于屏幕中间,则可能不是默认方式。我经常发现锚定一个区域的边或角是最好的。

最后,根据您的平台和处理的屏幕方向,您还可以在 Player Preferences. 中设置设备方向首选项。您设置的具体内容可能取决于您的项目,但可能是确保您的 UI 为您的目标正确缩放的重要步骤。