Unity3d 为多屏幕尺寸设计游戏

Unity3d Design game for Multiple screen size

这个问题以前肯定有人在这里问过,但我找不到合适的解释性答案。 所以我是一个了解 C# 的新 unity3d 程序员。现在,我将 canvas 尺寸选择为 854x480,并在 moto g、三星标签等上测试了场景。它们看起来都一样,我想知道为什么。因为如果我为 854x480 设计,我不应该在高分辨率手机上出现蓝条吗? 另一个问题是,我如何设计它才能使其在不同设备上看起来都一样。就我而言,854x480 在 kindle fire 上看起来确实放大了一点。 请提供一个概念性的答案。

问题是相机渲染帧会根据分辨率发生变化,因此您得到的不是 "blue bars",而是显示的额外渲染图像,至于 UI,因为它无法渲染额外的 UI(没有额外的 UI,必须显示所有内容)它通过使用锚点更改元素的位置和比例。您可以在选择 Canvas 并在检查器中更改值时更改这些设置。

这背后的概念是宽高比和比例因子。

Aspect ratio = width / height

如果您 运行 在具有相同宽高比的任何设备上玩游戏,那么您的游戏看起来将完全相同,因为高度和宽度的比例因子相同。

在你的情况下,Aspect ratio = 480/854 = 0.562

如果您运行在分辨率为 1280 x 720(纵向)的 Moto G(第一代)上玩游戏,

Aspect ratio = 720/1280 = 0.562 与 canvas 的纵横比相同,因此宽度和高度的比例因子将相同。

现在,如果您 运行 在分辨率为 1280 x 800 的 kindle fire 上玩游戏,

Aspect ratio = 800/1280 = 0.625 这与您的 canvas 的纵横比不同。因此,比例因子(unity 会自动计算)对于宽度和高度会有所不同(在您的情况下,高度的比例因子会更大),因此您的资产在高度上看起来会有点放大。

希望它解释了这个概念。