如何在Unity设备的各种宽高比上显示相同的游戏部分?

时间:2014-03-08 12:41:58

标签: android ios unity3d screen-resolution aspect-ratio

我是从Libgdx引擎到Unity的,我是初学程序员。我尝试在Unity中为Android和iOS设备制作游戏,但我对纵横比/分辨率缩放有问题。在Libgdx中,如果你开发了一些东西,你会给出一个“默认”分辨率,并且所有内容都会缩放到设备的屏幕上,无论它的分辨率是更大还是更小,都不会从屏幕上切掉任何东西。另一方面,在Unity中,如果我制作游戏,它会将屏幕裁剪为所选的宽高比,如果您希望在所有可用设备上获得相同的体验,这不是最好的。我在互联网上搜索了很长时间,但我找不到任何对我有用的东西。

结论:我想知道Unity(C#)是否有一些代码可以使我的游戏在所有具有不同宽高比的设备上看起来都一样?我正在使用Unity 2D进行开发。如果有人可以编码并希望分享它,我会非常高兴,因为如果在所有设备上看起来都不一样,那就非常糟糕。 我还没有onGUI的问题,因为我没有做过任何菜单或其它东西,只是游戏,但是在设备上背景不一样并且角色没有打开是不好的屏幕的相同部分。

1 个答案:

答案 0 :(得分:3)

在初始化期间,使用Camera.pixelRect确定设备的高度和宽度,假设相机是全屏的。

存储高度和宽度,然后使用默认设置进行数学运算。 例如。默认设置为480x854,pixelRect为800x1280。 因此宽度差异为800f / 480f。对身高做同样的事。

使用差异并将其乘以层次结构顶部的对象。

希望它有所帮助。