随着分辨率的普遍提高,我们已经告别了依赖于简陋像素来表现游戏画面的年代。但还是有不少人像我一样沉迷于像素美术和游戏。如今到处可以都可以看到的各式像素作品,虽然大多被直接称呼为像素画,但实际上已经分化为很多分支,简单的将其归类为像素作品未免太含糊。在开始正文之前我先将他们粗粗的分个类。一些比较常见的代表如:

  1. 大颗粒像素,此类像素作品一般细节较少,人物符号化或者抽象化。同时还可能出现非像素元素,如光晕,渐变

  

  单键Bob,一个颇为爽快的flash游戏

  2. 粒度较小的像素画,主要还是色块化,边缘并没有强化。

  HGSS中的Dragon Den

  3. 强化边缘和高光,细节丰富,但是普遍尺寸较小。

  

  Drill Dozer截图

  另外,在一些UI图标的绘制过程中,由于图标较小,也同样采用像素点绘的方式。因为它平时也不会被称为像素画,所以这里也不讨论。

  其中第3种是我在本文中将着重讨论的。 这类像素图可能和平时所提到的像素图差的最远,因为它并不是为了做出像素化效果而诞生的。相反它是游戏机在分辨率和色板支持加强之后的产物(光是从GB到GBC,支持的色深就从2位变成了15位)。在这方面,任天堂算是是做到了极致(也可能因为任天堂的主机的屏幕天生小的缘故)这类像素画在抗锯齿(伪),光照,色彩的调和的方面很有特点(这篇文章中不细说)

  再现像素画

  就GBA而言,分辨率为240 *160,但我们现在再制作像素的游戏时,玩家一定不会接受在这么小的一个屏幕上去玩游戏。一个是因为眼睛看的太累(长大后眼睛都变差了…)。另一方面,考虑到像素画的成本,也不建议针对一个1080p的屏幕进行逐像素绘画。为了满足一些玩家想要的像素的效果,一个最简单直接的方法就是将画面放大。

  

  这幅图放大了3倍之后,也许会更容易于将它认为是像素画风

  虽然这种方法省时省力,但是也会带来一个问题。在绘制像素画中的曲线时,由于一般不对线条使用反走样(会让画面变脏)来抗锯齿。在分辨率较低的时候,像素的边缘可以帮助人们识别且很难注意到异样,但当画面放大后,这些边缘就会显得粗糙不堪。这也是像素画风被一些人所诟病的原因。

  为此,包括ppsspp在内的模拟器中,会内置不少shader来对图像进行后期处理。对于2D图像来说,具体方法包括xBRZ等滤镜来平滑放大图像(xBRZ对2D像素放大会产生平滑而舒适的效果,但是这会损失像素的特征),增加crt, 扫描线等后期特效将像素画做旧。当然,你也可以利用物理的手段将信号输出到CRT屏幕上,参考

  这里另外,这篇文章中讲述了一些crt效果的来源,也讨论了很多细节问题。一个简单的对比图:

  

  from: http://www.neogaf.com/forum/showthread.php?p=236239524

  常见的效果如下

  

  from: http://shmups.system11.org/viewtopic.php?f=6&t=51298&start=30

  

  注意屏幕的扭曲,这其实是crt的物理性质决定的

  

  注意像素的膨胀

  虽然实现方法不同,但总的来说都是在像素之间增加了隔断,人们的大脑会趋向为这种断裂解释理由,自动为图像进行内部平滑处理。这就和我们凑近屏幕看游戏画面但是不会觉得画面模糊的原因类似。另一方面,因为扫描线的存在,画面的层次感也可以体现出来,使得画面更加可信。甚至连Her Story中都为了剧情的需要用些crt效果。这篇文章里介绍了大量的post processing shader,很有借鉴意义。