如何在Unity中为Windows构建设置纵向宽高比

问题描述 投票:0回答:1

我正在尝试为独立版本创建一个统一项目,并且游戏采用纵向配置。当我在编辑器中对其进行测试时,一切工作正常,但是在构建它时,与UI相关的所有东西都弄乱了,这意味着它试图适应屏幕的宽高比,从而导致许多按钮和UI元素都在屏幕外,即使手动尝试通过执行Screen.SetResolution(1080, 1920, false);来更改屏幕尺寸,并在构建设置中停止游戏进入全屏模式,以使其成为纵向宽高比,但无任何作用。游戏本身运行良好,显然不属于UI或任何画布。任何帮助将不胜感激!

c# windows unity3d screen-resolution aspect-ratio
1个回答
0
投票

UI缩放非常棘手,特别是当您具有不同的宽高比以及分辨率(although they are different)不同时。根据我的经验,最重要的事情是确保尽可能合理地锚定事物,将布局组用于动态内容(下拉菜单,实例化元素等),并在画布上使用CanvasScaler组件。

Canvas Scaler component可以在场景中的画布对象上找到,并且是处理可变屏幕尺寸时的第一个起点。 "Scale To Screen Size" option highlighted on the Canvas Scaler component in the Unity inspector tab.。此模式最适合可变屏幕尺寸,您可以将其设置为您喜欢的屏幕尺寸,然后使UI适合该尺寸,然后根据理想尺寸自动缩放。

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

最后,根据您的平台和处理的屏幕方向,还可以在Player Preferences中设置设备方向首选项。 enter image description here。设置的内容可能确实取决于您的项目,但是对于确保UI可以针对目标正确缩放而言,这可能是重要的一步。

© www.soinside.com 2019 - 2024. All rights reserved.