在 Unity 中打造纯像素画面的2D像素游戏

作者:LouisLiu
2017-09-01
63 64 1

伪像素与纯像素风格

如今 Steam 上的像素游戏越来越丰富,游戏开发者对像素画面的表达也出现了不同类型,笔者把它们分成两大类。

1.伪像素风格:使用像素素材但是游戏中会对像素点进行旋转的游戏画面风格。

1

Starbound 中人物肢体的部位像素进行了旋转

2.纯像素风格:使用像素素材并且像素点不进行旋转的游戏画面风格,真正的实现了复古的游戏画面风格。

2

Dead Cells 中纯低分辨率像素的画面表现

Unity中如何实现纯像素画面

使用伪像素风格在 Unity 上开发像素游戏就和开发普通2d画面游戏一样可以对像素风格进行任意旋转。相比伪像素风格,笔者更喜欢那种真正低分辨率画面效果的纯像素游戏展现(我爱合金弹头!)

故对纯像素风格在 Unity 中如何实现研究了一下。经过一番搜索,笔者找到了 RyanNielson 分享的一种通过对 Camera 渲染实现纯像素效果的实现方式。

工程下载地址点击这里查看

使用这种渲染方式,游戏中对素材旋转也会进行像素化画面处理。

效果对比:

3
4

它是如何工作的?

PixelCamera2D中使用2个摄像机(camera)、一个四边形网格过滤器(quad)和一个渲染纹理(render textrue)来显示你的游戏。第一个摄像机将图像渲染到根据基本宽度值(base width)和基本高度值(base height)为大小的渲染纹理上。第二个摄像机渲染它的子四边形网格过滤器 ,其纹理是上面提到的渲染纹理。根据屏幕的宽度和高度设置这个子四边形网格过滤器的大小和缩放比例。这种方通过去除笔直的对角线、提供更好的画面缩放和对宽屏的设置使像素艺术游戏画面更一致。

(由于忙于开发游戏, 笔者选择了以上最重要的部分进行翻译,完整英文介绍请走传送门

总结

使用这种方式初步试验,已可以满足笔者开发纯像素画面游戏的要求。如果你也希望在 Unity 中制作出纯像素画面的游戏,不妨试试这种方法吧~

往后我会根据自己游戏开发过程中的积累不定期的分享一些小小的经验或者翻译一些外国大牛的技术分享与大家交流,希望能为中国游戏的崛起添一根柴火。最后,中国独立游戏加油!!!

P.S.这是鄙人第一次写技术文档(first blood!),因为是理科出生,文章有写的不好的地方请大家见谅,大家提出的意见我会在之后进行修改,谢谢!