关于游戏中动效的飞行道具的制作

最近工作中做了很多动效,对于各类飞行道具也做了不少,在这里分享一些个人见解。 其实对于游戏中的飞行道具大致可以分为两类:

第一种:漂浮类

直接飘字缓缓上浮,并逐渐变为透明,大概就是这种的吧,并没有什么太多能说的,各类游戏中都很常见。 blood

第二种:飞行类

从一个目的地飞到另一个目的地,有一个很明确的目标,在各种效果比较多的游戏中更为常见。

视觉效果,玩家体验

对于这两种道具,从视觉效果与玩家体验上来说,会飘的并不会给玩家带来很强烈的感觉,玩家不会一直去关注他,玩家更多的会关注这个道具的类型,以及跟随在道具后面的数值,这就足够了,玩家可以选择性的忽略这类动效,并把视线放在自己想关注的东西上。 而会飞的则会稍微强烈些,它更有可能会伴随着更多的动效,比如pong的一下爆开,然后再弹两下,再绕个圈飞到一个指定的地点,再播放一些花里胡哨的特效这些,这会给玩家带来强烈的感受,控制玩家的动线,并能起到一定的辅助作用,告诉玩家,这是什么,从哪里来,到哪里去,并带来一定的成就感与满足感。

选择

那么现在在了解了这些飞行道具之后,我们也需要在制作的时候明确,到底应该在何时使用什么样的动效,来达到最好的效果,希望吸引玩家视线的我们可以选择飞行类如果希望更加着重的表现,可以再加以辅助,比如增加黑色遮罩。 而不希望玩家过多关注的可以选择漂浮类,让玩家在想看的时候能看到就行了。

制作

在与程序沟通,编写代码的过程中,这类特效也是极为让人头疼的存在。 因为他们往往会伴随着时序,与更多的特效,最为讨人厌的就是飞行类了,开始时做一些事情,结束了又做一些事情,是比较简单的,复杂一点的还要再加点特殊判断,某个类型下这样,某个条件下又要那样,然后有时候不希望遮住其他UI,有时候又应该能看到,这些都是极为常见的需求。 但往往伴随着的就是极为繁重,耦合度极高的代码,预制体也往往十分臃肿,我管这个叫全家桶,而且因为游戏中使用的十分频繁,还会增加性能开销,更不要说调用的接口,10来个参数都不嫌少的,往往连我自己使用时都不知道,到底应该填什么,还有各类的坐标系转化,各种回调。 那如果通过策划配表,甚至是做一个编辑器来实现,确实是一条可行的路,不过我这里并没这么做,如果有这么做的也可以分享。 我选择的是,分类写代码,根据不同类型的飞行道具,针对性的书写代码,其实大部分情况下,策划的需求也并不复杂,很快就能写完,对于一些常用的获取目标位置,飞行路径,坐标系转化也可以封装一下,方便使用。

总结

对于玩家来说动效是一种很好的表现形式,他让画面更加具有活力,也让玩家在游玩时能清楚的知晓自己获得了什么,并带来一种爽快的感觉,满足感。 对于我们开发者来说,我们需要很好的去判断,什么时候使用什么样的效果,不至于喧宾夺主,也不至于让玩家看的云里雾里~