作者:Roque Rey 今天我们要讨论的是《Okhlos》中的第四个世界Altantis中的水体,以及我们如何用Unity制作这种效果。 在此我们不讨论流体模拟之类的效果,只会提到制作这款游戏水纹效果方面的一些经验。我们在其中融合了像素美术和低多边形美术,还使用了阴影,HDR,bloom效果及许多“新”特效。 《Okhlos》中的水纹构图非常简单:就是一个平面。
waterplane(from gamecareerguide)
这是一个高于实际水平线的平面,所以游戏中的单位、建筑和敌人不会与之交互。地面负责处理所有物理元素,所以它仍然要处理其本身的所有碰撞。水体只是地面的一个网眼子集。 水体已经有了一个透明/扩散素材,我们并没有减少纹理的不透明性,只是在素材背景对其进行更改。这让我们拥有更多控制权,我们只要在更改的时候直接对最终面貌进行处理。我们只需在Unity内部完成这些操作,无需在每次更改的时候输出纹理。
“Agua”在西班牙语中就是水的意思(from gamecareerguide)
从水在其他对象中的运行情况来看,所有在河和容器中的水都是用2DToolkit制作而成,这更有利于制作水流的动画效果,也让我们的操作更具灵活性。
agua(from gamecareerguide)
从上图可见,几乎所有的水流都是用子画面制作而成。我们逐帧地制作水流动画。2DToolkit在这方面具有极便利的管道。我们仍然需要输出子画面,但能够极快更改它们的大小,形状和方向,我们几乎也可以立即看到最终效果。
这个喷泉有8个不同的子画面动画(from gamecareerguide)
这种方法的唯一问题在于我们必须更改对象中水的素材,以便将其与平面水体区别出来。这里的水具有Additive Vertex色材,这也正是它看起来闪闪发亮的原因。 瀑布效果的水是一个子画面动画集,但其中的涟渏则是用Unity的粒子系统制作而成。
waterflowsm(from gamecareergudie)
这实际上是一种相当简单的特效,它其实是一个不时循环的粒子。
captura(from gamecareerguide)
经过一些调整我们就可以将这种效果运用于角色。我们只需将Emission从Time更改为Distance,将模拟空间更改至本地状态。
waterripplescharacter(from gamecareerguide)
这样就成了。如果你想为自己的游戏添加静态水体,就可以采用这个方法。虽然它还不甚完美,但至少能证明它对此类游戏极为管用。(本文由游戏邦编译,转载请注明来源,或咨询微信zhengjintiao)
|