如何实现2D照明?


58

我想知道在2D游戏中达到“照明”效果的最佳方法是什么。例如,如果我的主角正在发光,当角色靠近其他受光影响的物体时,我可以使用什么技术来完成该角色发光的视觉效果?

Answers:


39

您可以将简单的发光效果纹理与柔软的透明边缘相叠加。如果您想要的照明/阴影与3d世界中的照明/阴影相似,则可以执行以下操作:http : //www.catalinzima.com/2010/07/my-technique-for-the-shader-based-dynamic -2d-shadows /。但是,如果您不熟悉HLSL,则可能有点太多。

编辑:我偶然发现了一个不错的HTML5 2d灯光教程


该链接正是我想要的。我感激不尽。这非常有帮助。
Christopher Horenstein 2010年


4

您将需要用HLSL或GLSL编写的postfilter着色器效果。着色器将接收播放器坐标,并修改特定范围内所有像素的亮度。XNA很好地支持2D着色器。

另一种解决方案是通过使用具有Alpha通道的纹理来模拟亮度。除了中间的透明斑点外,纹理大部分为黑色。这种纹理使我们成为您游戏屏幕上的叠加层,透明点位于“发光”玩家角色的中心。旧的冒险游戏使用这种技术来模拟手电筒。


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.