在Unity3D中选择正确的分辨率

时间:2019-04-02 14:43:26

标签: android unity3d bitmap sprite resolution

我正在使用Unity3D创建我的第一个Android 2D游戏,目标分辨率为1080x1920(我的GUI使用该分辨率)。这个分辨率对于手机游戏来说太大了吗?我还没有制作游戏中的精灵,我只是想知道分辨率可能太大(内存消耗)。

我应该支持两种分辨率(1080x1920和540x960)还是选择较低的分辨率(例如720x1280)?如果选择720x1280之类的分辨率,是否需要重新设计所有GUI图形?精灵呢?如何制作精灵,使其在不同的分辨率下看起来相同?

1 个答案:

答案 0 :(得分:1)

理想情况下,在设计任何类型的UI时,您的设计都应该是可扩展的。这意味着您应该以编程方式获得分辨率,而不是硬编码分辨率和图像大小,然后将资产缩放到分辨率的一定百分比。为了在android中获得分辨率,我找到了以下代码:

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    Display display = wm.getDefaultDisplay();
    DisplayMetrics metrics = new DisplayMetrics();
    display.getMetrics(metrics);
    int width = metrics.widthPixels;
    int height = metrics.heightPixels;

但是,许多艰巨的工作仍由您自己决定:)使用Sprite Art-通常最好的做法是将资产的大小设计为2(16、32、64等)的幂,以最佳地适应不同的分辨率