我应该使用2D游戏的精灵尺寸是多less?

我尝试为Android创建一个2D游戏。 它看起来像割绳子 (它不是一个克隆,但它具有相同的级别表示),如果它有一个值。
我的问题,我不明白,我应该使用最佳的精灵尺寸。 即我应该使用什么目标屏幕分辨率精灵高清设备(如三星Galaxy S7等,手机和平板电脑)没有exception?

为了让我的问题更清晰,我问了xxhdpi-screens的1个单位= X像素 。 什么是X

PS对不起,如果它是重复的,我将不胜感激这个post上的链接因为我找不到它。

正如上面的评论中所描述的那样, 没有一个简单的答案是什么精灵分辨率或每单位像素(PPU)设置使用 。 如果我们通过一些例子,我认为这个“为什么”会更清楚些。

Google建议xxhdpi显示器上的图标为144像素,因此我们随意select该图标作为我们的PPU比例尺的开始点,然后查看这会导致我们的位置…

1.给定单位像素数(PPU),我们如何避免“exception”?

为了保持我们的艺术效果, 我们需要制定一个(正交)相机大小,将每个精灵纹理贴图映射到整个屏幕像素 。 如果我们在这里得到一个分数比,它可能会导致难看的文物 。

三星Galaxy S7或Google Pixel XL在横向模式下的分辨率为2560×1440。 所以用我们的144 PPU,这意味着我们想要垂直显示10个游戏世界单位,以便在这些设备上获得1:1的屏幕像素。 (1440÷144 = 10)假设我们想以自然分辨率绘制(更多下面的内容)

Unity的相机在垂直轴上的半范围内取大小,这意味着我们将正交相机尺寸参数设置为5(10的一半)

2.如果我们想要一个不同的PPU规模?

当然这不是我们可以select的唯一尺寸–144是完全随意的。

  • 也许对于关卡devise和用户界面布局的原因,你更愿意看到8个游戏世界单位垂直而不是10.然后,你可以使用每个单位180个像素(1440÷180 = 8)和一个摄像头大小4。
  • 或者,也许你想要更多的空间来玩,并希望每个单元120像素垂直适合12个单位(1440÷120 = 12)和摄像头大小为6。

特别是如果您的关卡艺术是基于图块的,那么了解您想要在屏幕上放置多less个图块是select合适的分辨率和PPU设置的关键,因此您可以保持1个世界图块= 1图块的方便映射。 这意味着没有一个标准的PPU设置 – 这取决于你希望你的游戏看起来如何。

尝试模拟一个示例级别,并将其扩展为您希望在设备上显示的方式 – 这将帮助您确定适合您的游戏的世界单位规模。

还要考虑到在某些设备上,渲染本机资源可能性能/电池密度太高,因此渲染为720p缓冲区并将每个单元(或90,或60 …)降至72像素也是一种select,给我们2每个sprite texel的屏幕像素。 倍增像素(或三倍像素)使得您的艺术在使用最近邻居过滤进行升级之后看起来更加清晰,同时通常在高dpi设备上仍提供可接受的细节级别。

3.如果我们想要支持多个解决scheme,该怎么办?

这是事情变得非常复杂的地方。 假设我们想要在iPhone 7+或(非XL)Google Pixel手机上运行同一游戏。 这些手机使用与Galaxy S7 / Pixel XL相同的16:9宽高比,但分辨率为1920×1080。 如果我们不改变任何东西,那么我们在1440行屏幕上的1:1渲染就变成1080p屏幕上的每个精灵纹理像素比率为0.75:1的屏幕像素 – 不再是整数了,这意味着我们将得到伪像。 上述较小的2:1选项也是如此:将它们天真地移植到1080p,就可以达到1.5:1的比例。

如果我们把摄像机的尺寸从5缩小到3.75,我们可以回到1:1的渲染,但是现在我们只能看到我们世界的7.5个单位(例如1080÷144 PPU = 7.5),这将改变游戏的感觉。 S7上的玩家将看到比iPhone玩家更多的水平,这可能不公平。

这变成了一个难题™ 。

我们可以通过降低到更低的分辨率来解决这个问题,这是我们所瞄准的两种显示分辨率的一个共同因素 。 如果我们想象我们正在渲染一个假想的360像素的屏幕,那么我们可以在4倍的尺度上显示,达到1440和3倍的比例,达到1080,同时保持一切清脆。 但是我们必须牺牲很多细节才能做到这一点。 这可能是一个复古风格的像素艺术游戏,但如果你是一个高清的外观拍摄,那么它可能不是你想要的。

另一个select是根据显示分辨率更改相机设置, 在较大的显示屏上添加填充或字母框,以便保持1:1的渲染比率,而不更改可见的多less水平面积。 如果你需要UI或屏幕控制的空间,这可以是一个很好的地方,坚持这个内容,所以它不包括游戏区域,所以填充本身不太令人反感。

最灵活的解决scheme,也是最多的工作,是以多种分辨率生成精灵 ,并根据您的显示器尺寸select不同的资产及其相关的PPU设置。 如本文所述,您可以使用Unity的资产包变体来处理交换 。

以150%的比例重新绘制资产的示例

举个例子,我们可能会创建两个版本的贴图精灵:一个72像素高,一个150%,高108像素。 我们将资产的“每单位像素数”设置分别设置为72和108,所以它们都对应于我们游戏世界中相同的1单位平方,无论select哪一个,游戏玩法交互都不需要改变。 我们将相机尺寸设置为5,这样我们就可以在每个设备上垂直显示10个图块,同时保持跨平台的游戏体验一致。

  • 在720p显示器上,我们将使用72像素资产(比例为1:1)。
  • 在1080p显示器上,我们将使用108个像素资产(比例为1:1)。
  • 在1440显示器上,我们将再次使用72像素资产(这次是2:1的比例)

现在我们有一系列不同的屏幕分辨率的整数比例,但是不利的一面是我们不得不把所有的或者大部分的艺术都做成两个(哎哟!)


正如你所看到的,select适合你的游戏的精灵分辨率是一个复杂的过程,需要仔细考虑你的游戏玩法,美学,目标硬件(分辨率和性能)以及制作预算。 不会有一个简单的万能答案,但是我希望上面提供了你自己完成这个过程所需要的工具。

如果您在确定视觉目标和支持的解决scheme后需要一些帮助,请随时发布有关这些具体详细信息的后续问题,此处的用户可能会提供帮助