标签

逆向抗锯齿(Reverse Anti-Aliasing)[SA Pixel Tutorial]

这一篇,我们要涉及到一种从“抗锯齿(Anti-Aliasing)”延伸出来的技巧,我叫它“逆向抗锯齿(Reverse Anti-Aliasing)”,缩写就是“RevAA”。通过“抗锯齿”我们把两个颜色混合起来,让对象融合到背景之中。“逆向抗锯齿”则有所不同,它尝试把两个对象平滑的区分开来,可以让对象从复杂的背景之中跳脱出来。

举个例子,你在尝试做一款2D游戏,用“抗锯齿”技巧完成了漂亮的场景,而如何让游戏中的“精灵(Sprite)”较明显的与场景区分开来?一种简单的办法就是给你的“精灵”勾上边线,这样画面会偏向“卡通”的效果。如果你的游戏追求严肃的氛围的话,这可能并不合适。

开发游戏的过程中,我们会选择一个颜色作为透明色,比如“亮紫色(RGB 255,0,255)”,在真实游戏中这个颜色将不被显示出来。如果尝试让“精灵”的边缘变得顺滑一些,用“抗锯齿”的办法,就是让它融合到“亮紫色”中。不过这样就糟糕了,你的“精灵”放到真实的游戏场景中,边缘上会带有一圈紫色,完全不堪使用。这并不是我们想要的。

我们的目的是,不论把“精灵”放到什么场景中,我们都要它清晰可见。你可能不知道背景是什么样子,最简单的办法就是把你的“精灵”边线加深。这样,不论在什么情况下你的“精灵”都很容易区分。下面,我们一步一步的来看“逆向抗锯齿”应该怎么做。

还是从一个圆开始,首先给它画上黑色的边线。记住,我们不是要用“抗锯齿”技法让圆融入背景,所以我们不像“抗锯齿”技法教程的例子那样做。

接着,我们用“抗锯齿”技法把圆的蓝色部分融合到黑色的边线。通过添加一层像素缓冲让黑色到蓝色产生渐变。

从一个有黑色边线的圆开始,我们给内部的蓝色到边线一个缓冲渐变。

进一步添加更浅一些的缓冲色,然后用“抗锯齿”技法处理颜色变化较大的地方。

要是你的圆本身颜色较浅,为了让它看起来平滑些,你需要更多层的缓冲。现在边线的颜色非常深(黑色),如果你喜欢卡通效果(或者剪纸)强一些,到这里你就可以结束了。

反复进行前面的步骤,我们创造出了一个内部和边线融合的很好的圆。到这里其实就可以结束了。

还有很多人不喜欢“精灵”有明显的边线,怎么办呢?提亮边线。边缘和背景相接的“锯齿”部位深一些,其他的稍微浅一些。没有限制的话,你可以自由发挥,如果你的用色限制为“16色”,那么你要注意尽量复用颜色,不要浪费。

消灭“黑色边线”。除了“锯齿”部位,其他边线都有所提亮。

我们在圆上的“逆向抗锯齿”基本完成了。现在这个圆不但在任何背景下可见,而且显示的更平滑。来做个测试吧,我把一个没有应用“逆向抗锯齿”技法的圆和我们前面处理过的圆放在同样的杂色背景中来做个比较。结果显而易见,我们的圆在任何背景上都可以保持清晰可见。

任何背景上都可以保持可见。
2009-08-15 11:03:58
Ctrl + 回车 直接提交
暂无相关评论