Sprite Lamp 是一个帮助开发者给 2D 画面添加绚丽的光影效果的软件工具。使用它可以得到非常不错的 2D 动态光影效果,但是需要手工制作法线贴图等必须的贴图。
Sprite Lamp 已经成功的在 Kickstarter 和 Steam Greenlight 上获得通过,并且正在经历从 alpha 到 beta 的过渡阶段。如果没有赶上 Kickstarter 众筹,现在在网站上也可以直接购买。关于 Sprite Lamp 的更详细的信息可以关注:Snake Hill Games blog。
那么,它到底是什么东西呢?
动态的 2D 光影系统
我们知道,有的时候是出于成本考虑,有的时候是出于艺术考虑,有的时候是出于开发难度考虑,或者干脆就是个人喜好的不同,很多游戏的开发者更倾向于使用 2D 美术。但是 2D 美术有很多的缺陷,动态光影就是一个比较难办的问题,我们一般都不太容易看到有很好光影表现的 2D 游戏,之前引起广泛关注的《致命快递(Confederate Express)(简介)》就主要是因为它的光影效果惊人。(它的开发者 Kilobite 也有一个 FALSE 2D API 用来模拟光影效果,这个我们今后会做介绍)而 Sprite Lamp 的出现就是为了解决这个问题。
通过 Sprite Lamp 来创建各种贴图:normal maps(法线贴图), depth maps(深度贴图), anisotropy maps(各向异性贴图), 以及 ambient occlusion maps(环境光遮蔽贴图)。然后就像在任何游戏引擎中一样,引入这些贴图。
在 Sprite Lamp 里,你不需要建立任何 3D 模型,只需要手绘就可以了,这样能够很好的保持原始美术的艺术性。下面是一个例子,可以看到它的效果:
它是如何工作的?
下面介绍一下上面的那个效果是怎么做出来的。
首先,要绘制出角色的轮廓,最后它会变成一个 diffuse map(漫反射贴图),也就是每个角落都得到足量光照的贴图,看起来是这个样子:
画完角色,下一步就是绘制“lighting profiles”,用灰度绘制(看起来角色就像是用塑料制成的模型),如果不想要 360 度的环境光,那么也可以根据需要只绘制某些方向的,当然,绘制得越多,效果就越棒。针对这个僵尸,我们绘制了四个方向。
然后进入 Sprite Lamp 软件处理:
我们就会得到需要的贴图了。
这些贴图可以导入到 Unity 等引擎中直接使用。
同样,也可以通过生成 Depth Map(深度贴图)制作出凹凸贴图的效果:(这次我们只需要两张“lighting profiles”)
效果如下:
更多信息可以看一下这个视频:
想了解更多的信息,可以到官方网站一探究竟。
现在有些游戏已经开始正式使用 Sprite Lamp,效果果然不俗!比如这一款:怒战蜂巢(Hive Jump)。
貌似又有了新的替代品了?
@eastecho:话说全。。。
好腻害的样子Σ(っ °Д °;)っ
3D阴影效果运用到2D中,效果拔群。
对于我这种不怎么会画2D的人,用的方法是先建3D模型,再将渲染图处理成像素图。
如果是只做一帧像素图,那么这个方法很是麻烦。
但如果是做动画,或者是用这个人物做多个动作的话,就很方便了。
@nemo:可以问一下怎么直接让3D渲染出每个面对于世界法线的颜色呢?只会建模搞不明白渲染那套系统。资料也查不到,只能查到高模-低模得到的法线贴图方法。 我现在完全是靠手绘rgb通道…
熟悉3d流程完全无压力
看了视频应该是从3维流程延伸到像素的,我记得国人有一款游戏也是动态光影的美工屌爆不过应该是不同流程的
这个软件没什么意义啊,都会自己画各方面光照图了,分别放到rgb通道就好了。
@AlsoRowing:应该能做插值,自己画要画死了
美术要哭了。。。。。。