我应该为不同的分辨率制作不同的精灵表吗
Should I make different spritesheets for different resolutions
我正在为 android 设计一款游戏,我的资产在低分辨率下在小屏幕上看起来不错,如果游戏在更大的屏幕上运行,它会出现像素化,我是否应该为不同的屏幕制作不同的 spritesheet分辨率或只是一个高清,然后根据分辨率缩小图像?第二个听起来更好,但我担心所有缩放都会对性能造成影响
我确实在 LibGDX 上使用了多个不同分辨率的 SpriteSheets,原因如下:
当你必须支持屏幕分辨率从 320*480 到 2560*1400 的设备时(可能在几年内达到 4K),几乎不可能在所有这些屏幕上以独特的方式获得完美的结果精灵表分辨率。如果您使用虚拟屏幕分辨率(视口),您可以在单一分辨率上工作并相应地创建资产并让此视口自动缩放到屏幕,这样您的游戏在任何设备上看起来都一样。
因此,有人可能会争辩说,单个 HD spritesheet 可能就足够了。但是,大多数低成本或旧移动设备有时 unable to load high resolution textures,因此如果您只使用高清显卡,您可能会失去对这些设备的支持。更重要的是,根据我自己的经验,以编程方式缩小资产通常会导致糟糕且不可预测的图形结果。
就个人而言,这就是我所做的:
- 我检查了屏幕分辨率和设备可以加载的最大纹理尺寸。
- 使用这些值,我从预定义的 spritesheet 分辨率中选择视口大小和 spritesheet 大小。 (低、中或高分辨率)
为了帮助根据屏幕分辨率解析资产,libgdx 提供 ResolutionFileResolver class。
但是,您还应该阅读:https://gamedev.stackexchange.com/questions/24638/resolution-independence-in-libgdx
我正在为 android 设计一款游戏,我的资产在低分辨率下在小屏幕上看起来不错,如果游戏在更大的屏幕上运行,它会出现像素化,我是否应该为不同的屏幕制作不同的 spritesheet分辨率或只是一个高清,然后根据分辨率缩小图像?第二个听起来更好,但我担心所有缩放都会对性能造成影响
我确实在 LibGDX 上使用了多个不同分辨率的 SpriteSheets,原因如下:
当你必须支持屏幕分辨率从 320*480 到 2560*1400 的设备时(可能在几年内达到 4K),几乎不可能在所有这些屏幕上以独特的方式获得完美的结果精灵表分辨率。如果您使用虚拟屏幕分辨率(视口),您可以在单一分辨率上工作并相应地创建资产并让此视口自动缩放到屏幕,这样您的游戏在任何设备上看起来都一样。
因此,有人可能会争辩说,单个 HD spritesheet 可能就足够了。但是,大多数低成本或旧移动设备有时 unable to load high resolution textures,因此如果您只使用高清显卡,您可能会失去对这些设备的支持。更重要的是,根据我自己的经验,以编程方式缩小资产通常会导致糟糕且不可预测的图形结果。
就个人而言,这就是我所做的:
- 我检查了屏幕分辨率和设备可以加载的最大纹理尺寸。
- 使用这些值,我从预定义的 spritesheet 分辨率中选择视口大小和 spritesheet 大小。 (低、中或高分辨率)
为了帮助根据屏幕分辨率解析资产,libgdx 提供 ResolutionFileResolver class。
但是,您还应该阅读:https://gamedev.stackexchange.com/questions/24638/resolution-independence-in-libgdx