Unity 中如何在竖屏模式的 UI 之上显示强制横屏的 UI?

发布于 2016-11-22 14:06:07 字数 335 浏览 1400 评论 11

我们现在有两种思路:

  1. 改 Screen.orientation 之后再显示。
  • 需要考虑外层 RectTransform 是否已经“完成”了转屏导致的变化,然后才能去适配内层。尚未找到可靠的事件。
  • 需要处理背景,半透明背景可能透出后面的 UI 排版混乱。
  1. 将新 UI 旋转依 z 轴转 -90度显示。
  • 对刘海屏的适配需要做相应的修改。
  • 无法转屏(因为还是竖屏,且不支持 Upside Down)。但是这个应该可以克服。 请问,两者哪种更好呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

想挽留 2020-02-10 22:16:12

有没有更“正经”的方法~

归属感 2019-11-07 19:43:18

那不就自适应不了了么

泛泛之交 2019-10-18 05:28:37

在Canvas上根据你自己的需求做好自适应就好啦

清晨说ぺ晚安 2019-05-17 02:43:38

记不太清了,印象中没有遇到什么大问题。不过我们当时这类需求切换时都是全屏UI, 加了遮罩fade后没有什么明显的穿帮

想挽留 2019-01-13 07:25:28

我们之前项目里刚好有个类似的需求,在横屏游戏中,个别玩法切换到竖屏。

当时采用的解决方案是修改Screen.orientation,同时修改UI全局根节点上的CanvasScale的referenceResolution(竖屏时设置为1080, 1920,横屏设置为1920,1080) ,matchWidthOrHeight(和项目的适配策略相关,竖屏时设置为0,横屏时为1),切换时会有一个全屏遮罩的fade效果,来避免切换时显示错误。

偏爱自由 2018-08-23 18:06:37

你是不想分多Canvas么

浮生未歇 2018-05-11 12:06:20

另外,recttransform 的尺寸会被延迟修改这件事, 没有造成什么问题么?

晚风撩人 2018-05-02 09:44:17

一个简单粗暴的方式
Canvas的RenderMode改成World Space,管它摄像机怎么裁剪,UI画布也不会发生变化(狗头)

泛泛之交 2018-01-13 11:48:42

好的谢谢了

归属感 2017-03-30 07:36:31

我们当时没有测过旋转的方案。现在大概想想有两个问题,不知道想的对不对。1. 单纯旋转角度应该只能在横屏的中间部分显示一个竖屏界面吧?感觉还需要其他处理。2. 对工作流是否有影响,如果要一个竖屏界面是否是要在制作时先做成一个横屏界面?内部控件是否要处理?例如最终呈现出竖屏效果的剧情文字从左到右出现的话,旋转之前应该是横屏的从下到上出现,同时每个单一文字也是旋转的。

归属感 2017-01-11 15:53:06

感谢回答,请问为什么不考虑转 90 度的做法?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文