【问题标题】:In Unity UIElements, what is the equivalent to 'Scale with ScreenSize' of UGUI Canvas Scaler?在 Unity UIElements 中,UGUI Canvas Scaler 的 'Scale with ScreenSize' 等价于什么?
【发布时间】:2022-04-24 01:04:29
【问题描述】:

当我在 Unity3D 中使用 UGUI 时,如果我想让我的 UI 游戏对象在所有设备上保持相同的大小和位置,我只需在 Canvas Scaler 中将 UI Scale Mode 设置为 Scale with Screen Size。但是现在 Unity3D 切换到 UIElements 系统,不仅是编辑器,还有运行时的游戏内 UI,我怎么能做同样的事情呢?

另外,我们如何才能像 Auto Letterbox(黑条)插件一样,以牺牲屏幕空间为代价,简单地保持游戏屏幕的纵横比?

(全部用于运行时游戏内 UI)

如果现在确切知道所有这些还为时过早,谁能告诉我这些方法是否仍然可行?或者由于 UIElements 系统将基于的“网络风格”开发机制的性质,这些解决方案根本不可能?

非常感谢您,对于我可能在这里提出的任何不安全的表达,我们深表歉意。

【问题讨论】:

  • stay the same size and position 我认为这是由 RectTransform 的锚点直接处理的,不需要什么特别的。
  • 通过使用Scale with Screen Size和Letterbox,我想我可以忽略Anchor,这就是为什么它很好。

标签: unity3d uielement unity-ui


【解决方案1】:

现在可以在 Unity 的 UI Panel Settings asset 中设置缩放。

向游戏对象添加UI 文档 时,可以在Panel Settings 字段中指定此资源,如下面的编辑器所示:

配置面板设置时,您可以选择使用缩放模式,如下图所示。我正在使用以像素为单位的参考尺寸(iPhone X 分辨率)

Match Width Or Height 缩放模式应该根据您的期望进行缩放,就像在 UI Toolkit 引入之前 UGui 对设备缩放所做的那样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    • 1970-01-01
    相关资源
    最近更新 更多