【发布时间】:2015-04-08 22:55:43
【问题描述】:
我正在为 android 设计游戏,我的资产分辨率低,在小屏幕上看起来不错,如果游戏在更大的屏幕上运行,它会出现像素化,我应该为不同的分辨率制作不同的 spritesheet,还是只制作一个 HD然后根据分辨率缩小图像?第二个听起来更好,但我担心如果所有缩放都会影响性能
【问题讨论】:
-
有多少精灵?请提供更多信息
我正在为 android 设计游戏,我的资产分辨率低,在小屏幕上看起来不错,如果游戏在更大的屏幕上运行,它会出现像素化,我应该为不同的分辨率制作不同的 spritesheet,还是只制作一个 HD然后根据分辨率缩小图像?第二个听起来更好,但我担心如果所有缩放都会影响性能
【问题讨论】:
我确实在 LibGDX 上使用了几个不同分辨率的 SpriteSheets,原因如下:
当您必须支持屏幕分辨率从 320*480 到 2560*1400(几年内可能达到 4K)的设备时,几乎不可能在所有这些屏幕上以独特的 spritesheet 分辨率获得完美的结果.如果您使用虚拟屏幕分辨率(视口),您可以使用单一分辨率并相应地创建资源,并让此视口自动缩放到屏幕上,这样您的游戏在任何设备上看起来都一样。
因此,有人可能会争辩说,一个 HD spritesheet 可能就足够了。但是,大多数低成本或旧的移动设备有时是unable to load high resolution textures,因此如果您只使用高清显卡,您可能会失去对这些设备的支持。更重要的是,以我自己的经验,以编程方式缩小资产通常会导致糟糕和不可预测的图形结果。
所以个人而言,这就是我所做的:
为了帮助根据屏幕分辨率解析资源,libgdx 提供了ResolutionFileResolver 类。
但是,您还应该阅读:https://gamedev.stackexchange.com/questions/24638/resolution-independence-in-libgdx
【讨论】: