Unity UI:在显示屏上拉伸图像

时间:2018-09-05 14:52:14

标签: unity3d

我在Canvas元素中放置了一张图像(游戏策略图),并且希望它在显示器的整个宽度或长度(在不同的设备上可能具有不同的尺寸或纵横比)上伸展。保留图像的比例,同时显示所有图像。

无论我设置了什么,图像要么太小,要么太大而无法容纳在显示器中。

如果我理解正确,则有两组设置很重要:(1)图像的位置,其枢轴,其锚点,其最小和最大x和y。 (2)父画布缩放器UI缩放模式(我可能需要“按屏幕尺寸缩放”),其x和y缩放比例。 我有事吗因为似乎没有任何组合适合我。

第二个问题:我需要在最大化模式下播放它才能进行测试吗?还是应该在非最大化模式下也可以使用?

1 个答案:

答案 0 :(得分:5)

以下是从头实现您想要的目标的步骤:

  1. 为简单起见,将游戏视图的分辨率设置为要开发的主要分辨率。现在,我们将使用1920x1080。
  2. 将画布添加到场景中。
  3. 配置画布设置:
    • 渲染模式:叠加屏幕空间
    • UI缩放模式:根据屏幕尺寸缩放
    • 屏幕匹配模式:展开
    • 参考分辨率:1920x1080(与游戏视图相同)。
  4. 将图像添加为画布的子级,然后将所需的精灵添加到图像中。
  5. 将图像拖放到想要的位置并将其锚定在中心。

这时,您应该可以在游戏视图中切换到其他分辨率(例如,对于iPad为2048x1536,对于Note 8为2960x1440),并且图像应该可以拉伸而不损害其纵横比。根据您要执行的操作,您可能需要使用屏幕匹配模式。

注意:在发生这种情况后更改画布参考分辨率可能需要您重新配置或缩放UI。