将我的Pixel Art Platformer从720p缩放到1080p


12

我正在开发适用于PC和智能手机的像素艺术2D平台游戏,但仍然遇到了技术问题。

我选择了32x32瓦片分辨率和64x64字符精灵分辨率。将这些级别划分为多个部分,这些部分称为“屏幕”,在每个屏幕中,我都有40x22.5瓦片,大约为40x23,因此最低分辨率为1280x720。

在游戏中,我具有双重跳跃机制,因此我需要在每个“屏幕”上都具有良好的垂直视角范围。

问题来了:1280x720分辨率不是很高。在高清显示器上,窗口不会很大,如果将分辨率提高2倍,则分辨率将达到2560x1440,并且窗口将比实际的高清显示器大得多。如果我尝试将尺寸设置在1280x720到2560x1440之间,则图形会开始变得口吃或变形。

我该如何解决这个问题?有没有一种解决方案不需要我以16x16格式重新绘制所有图块和精灵?


降低分辨率但让摄像机移动屏幕是可接受的设计选择吗?即分辨率现在是640 x 360,但是您的屏幕仍然是1280x720,但是您需要在房间中四处移动,有点像Metroid或Axiom Verge吗?
lozzajp

即使在2D游戏中,也需要定义一个摄像机,您的位置不对。因此,相机定义了观看分辨率,视野和角度,您只需将数据呈现给相机即可。这样,你的游戏resoultion独立
Yosh SYNERGI


只是要确保问题出在什么地方。您是说是因为1280X720地图显示的尺寸小于1920X1080显示器的显示尺寸,所以您希望将地图显示尺寸尽可能放大到“全屏”状态?我很困惑,因为无论如何,绘制16X16瓷砖都无法解决问题(据我了解)。
RobM

@DMGregory,如果您可以为我提供一些使用分数比例缩放时带有缩放伪影的示例,那将是非常棒的,因为我无法想象一个场景,当我在两个方向上缩放图像的数量相同时,如果数量是整数或分数,就会出现伪像。对于伪影,我的意思是不应该存在的事物,这与模糊不同,发生在没有足够像素的情况下进行了高比例缩放。
Yosh Synergi

Answers:


16

对于任何想知道为什么这是像素艺术问题的人,下面是一个使用超级马里奥世界场景的简单示例:

缩放像素艺术场景的示例,其中显示了伪像

如果仅在运行时将像素艺术游戏从720缩放到1080(典型的游戏摄像机可能会采用这种方式),则由于每个源纹理像素的屏幕像素的非整数比率,我们会得到伪影。从右边的缩放示例中检查数字中的不一致之处,以及叶子和Mario耳朵的外观如何乱码。

它可以玩,但是却失去了迷人的像素艺术清晰度。并且在运动中,这些伪像可以在小精灵上爬行,使其显得微闪。

使用混合相邻像素的过滤模式可以避免波纹,但会涂抹和模糊像素图样,因此也不是很理想。


不幸的是,720p和1080p之间的1.5倍比率是我们遇到的最坏情况。

正如您所注意到的,缩放比例1x太小而2x太大,两种方式的边距都一样大,并且之间没有整数比例缩放比例可供选择。

您的选择归结为:

  • 容许1x比例,在比屏幕小1/3的窗口中显示游戏,如果需要填充空间,可添加装饰性边框。

    • 您可能可以扩展裁剪,在高分辨率屏幕上一次显示更多场景。这样可以减少所需的填充/信箱操作,但是您必须评估它是否影响游戏的玩法

      (例如,这是否会给某些设备上的玩家带来不公平的优势,还是让他们发现不应轻易看到的秘密?)

  • 放大2并裁剪您的场景,因此播放器一次只能看到较少的场景(大约是以前的3/4)。

    这也会影响游戏的玩法。使得玩家难以看到他们需要跳转的地方。

    • 您可能可以通过使用摄像头逻辑进行补偿,使视野随动或跟随玩家,因此重要内容在较小屏幕上的一个屏幕上仍然可见,但是没有通用的最佳摄像头可以使用。

      如果您决定走这条路,请尝试分享游戏玩法和当前相机的一些细节以及示例场景。这样,我们也许可以帮助调整相机的行为以进行补偿(或者您的游戏可能只是平淡无奇而需要更多的可见性)

  • 以不同的分辨率创建备用资产。(是的,这是很多工作,但是为您提供了控制游戏外观和感觉的最多选择)

    这并不意味着您必须扔掉在720p上看起来不错的现有资产。本文介绍了不同资产集之间的上下文交换,以支持更广泛的目标分辨率(在Unity中,但该原理也可以在非Unity游戏中应用)。

    • 如您所述,以一半大小(16x16瓦片,32x32字符)重绘所有资产将使您能够以2x比例处理720p,以3x比例处理1080p,并且显示的瓦片数与现在相同。不过,您可能会发现小图块分辨率在视觉上更具限制性。

    • 您还可以绘制一个备用的“大幅面”资产集,该资产集要大150%(48x48拼贴,96x96字符),可以以1x比例处理1080p。(您可以将现有资产用于720p或1440等)。较大的分辨率应有助于您保留当前艺术品的保真度,因此您不必牺牲现在的样式和细节。

      以150%比例重新提取资产的示例

    • 第三种选择是绘制仅稍小的资产集(24x24瓦片,48x48字符),该资产集可以以2倍的比例处理1080p,并且与将所有资产大小减半相比,这可能意味着更少的细节牺牲。

      所有这三个选项将使您在720和1080时保持帧和游戏玩法完全相同,但代价是资产工作量大约翻倍。

因此,不幸的是,这里没有轻松的胜利,只是权衡取舍。


2
您提到要保持原始比例并使用装饰性边框。根据上下文,这可能是放置GUI元素(例如得分和生活)的理想场所。如果这些边界足够大以适合这些信息,则可以使其看起来不像“填充物”,而更像“内容饱满”的并且与游戏相关。
Gnemlock

3

详细说明@DMGregory以不同的分辨率创建备用资产的选项:

目前为止,我所知道的最佳解决方案可能对您的使用最少:以矢量格式开发艺术资产并在以后根据需要对其进行栅格化。这不是灵丹妙药。大多数时候,您会发现栅格化后需要进行一些小的手工修改。

我知道的下一个最佳选择是尝试各种图像缩放算法,尤其是像素图缩放算法。和以前一样,这不是一个庞然大物。选择特定的缩放算法是高度特定于上下文的。它与游戏本身的“感觉”和艺术品本身息息相关,即使算法和艺术品搭配得当,您可能也需要手动调整一些精灵。

在这两种情况下,其想法都是使用一种工具来为您完成大部分工作,并将人为的精力集中在其余的细节上。就像@DMGregory所说,“这里没有轻松的胜利,只是权衡取舍。”


编辑小数比例缩放:大多数像素图缩放比例算法只会增加整数。缺少滚动自己的自定义缩放算法的过程,您可能需要结合升序和降序来获得所需的1.5倍更改。作为参考,以下是将scale3x算法升频和将fant算法降频50%的结果:

原版的:

在此处输入图片说明

缩放比例:

在此处输入图片说明


不幸的是,我发现大多数像素艺术缩放算法仍然倾向于仅处理整数放大(通常为2倍,3倍,4倍),因此在720-> 1080的情况下它们无济于事。(也许有人可以使用3x像素的升频器,然后将其降采样一半...?不确定是看起来比直接
升频

有效点。编辑一点来解决它。我也偶然发现了这个着色器,它确实支持分数缩放
皮卡列克

+1为向量解。您必须使您的资产真正庞大且规模缩小。
Mark Aven
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.