游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7636|回复: 3

[原创] 脚底如抹油?跟你聊聊怎么设计真正的动作游戏(四)

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2019-2-22 10:22:37 | 显示全部楼层 |阅读模式
文/曾哥

这是一门神奇的手艺

请先看前三篇:

设计真正的动作游戏(一):“动作状态机”与打击感
设计真正的动作游戏(二):设计一个“冲撞”技能
打人像划水?跟你聊聊怎么设计真正的动作游戏

多图预警!!

多图预警!!

多图预警!!

前文提要

战斗手感主要包含两个方面。上篇文章讲的是如何造就良好的"打击反馈",本文将对"角色操控"进行阐述。

1.jpg

"打击反馈"是明面儿上的功夫,较为容易得到提升,而"角色操控"则好比是"基本功",要花大多功夫才能得到提升。对基本功的忽视,很大程度上导致这种上文提及过的:

一些动作游戏宣传片挺能唬人,然而真正上手你觉得手感一言难尽。很多时候我们只能形容为"手感很飘",却说不出个所以然。

"角色操控"不仅体现在角色移动中,也体现在技能和连招中,因此本文会涉及连招的基本实现方式。我们开始吧~

对角色动作的转向和位移进行过分宽松的配置,是"角色操控感差"的症结所在。

在动手之前,我们来给自己定个目标。

两段精彩的动画片段截取自《黑客帝国:动画版》之《PROGRAM》。请留意白衣女主角的动作。

2.gif
lang得一批

3.gif
稳得一批

游戏不是一门一味追求真实的艺术。游戏中人物的动作是一种审美趣味的表达。上面的两个图里,女主角既可"其疾如风",也可"不动如山"。游戏也追求这种效果。

出于对"其疾如风"的追求,开发者很容易进行过分宽松的配置。实质上,有张才有弛,有缓才有急。缓急的节奏应该进行严格配置——这意味着在游戏中大量使用固定量位移和有限制的转向。允许玩家自由控制方向或距离的动作远远没有你想象中的那么多。

角色移动篇

在动作游戏中,角色的移动通常通过摇杆来进行。你可能会说:"摇杆控制移动?很简单嘛!"这样想就错了。我们观察一下老游戏中摇杆的表现:

soogif1.gif
《鬼武者HD》

现在这种简单粗暴的移动方式已经很少见了(当然了还是比坦克式移动好很多)。你控制的是一个人,而不是别的什么东西——要做到这样,一点都不简单。

起跑

如果是实体摇杆,小幅度推动是慢跑,大幅度推动是快速跑。虚拟摇杆的话可以考虑起跑时先慢后快。

soogif2.gif
待机-快速跑

soogif3.gif
待机-起跑-快速跑

可以观察到第二个动图的效果更加自然。注意要在一个动画循环结束之后才切快速跑。如果在第一个动画播放到一半的时候切快速跑,就会出现"左脚迈完又迈左脚"的情况。

图二范例中,第一个跑步循环是起跑,为实现起跑"慢"效果,配置方式为是角色的动画播放速率为正常的80%。如果专门做一段"起跑"动画则效果更佳。

刹车

一般游戏中很少有"惯性"。(因为物理特性很容易带来负面感受,需要谨慎使用,下文详聊。)通常当玩家松开摇杆,角色的移动速度立即降到零,但是人物会播放一个"刹车动作"。刹车动作使角色的表现更具说服力。

7.gif
《鬼泣4》尼禄移动演示

移动中转向

在一些老游戏中我们可以观察到下面这种现象。

soogif4.gif
Bungie早期作品《Oni》

角色在拾取物品的动作中能转身——这种现象以现在的眼光看来是不可接受的。转身应该是在走路或跑步动作过程中发生。

在移动过程中,角色的转向应有"转向灵敏度"限制。下图中可以观察《鬼泣4》到与《鬼武者HD》有明显的区别——尼禄的转向不是立即转身,而是有转向过程的。

9.gif
《鬼泣4》

为了进一步增加"转身"的说服力,我们可以考虑给角色加入一定角度的倾斜。

10.gif
《合金装备崛起:复仇》

当角色进行转弯的时候,把角色的中轴进行一定角度的倾斜。

11.jpg

在《尼尔:机械纪元》中能更加明显地观察到这个现象。(手边没有合适的视频素材,大家看雷电的屁股将就一下。)

180度急转身

180度急转身应配置一个专门的动作片段。如果光是依赖"动作融合"功能把上一个动作融合至"走路"动作,就不能达到下图流畅自然的效果:

12.gif
《荣耀战魂》

值得注意的是,手机触摸屏的虚拟摇杆因为没有手柄的实体触感,而且屏幕较小,所以在手机项目开发中不应盲目追求主机项目的效果。我们甚至可以容忍手机游戏中进行《鬼武者HD》那样的转向,因为它反应最及时。

转身动作有一个特例,就是"四足生物",留在最后进行阐述。

慎用物理特性

"惯性"这样的物理特性会导致角色的运动变得难以预料。

《马里奥》系列是对物理特性运用的相对较多的一款游戏了。然而仔细分析之后,你会发现它是很克制的。因为单纯地把物理特性打开,并不能保证它能带来优秀体验。真正能为游戏加分的必然是精心的设计。

《马里奥:奥德赛》中的"沙之国"中有一个段落发生在冰天雪地中,在这里马里奥跑步有惯性。可以观察到,当玩家推动摇杆往右,角色面朝右播放跑步动画,但是在惯性作用下角色依然朝上方滑动。为了把游戏难度控制在一定范围内,开发者做了这个设计——角色下蹲就会停止滑动。

13.gif

另外,在这个场景中,马里奥化身为板栗仔之后就不会惯性了。

14.gif

同样是《马里奥:奥德赛》,在"雪之国"有一个弹弹球竞速的桥段。玩家要花不少功夫才能驾驭这个胖胖的海豹进行赛跑。这个赛道的设计是与海豹的物理特性相匹配的。为什么不能在赛道以外的地方使用海豹?因为外面的世界是与马里奥的运动能力相匹配的,不是与海豹匹配的。一旦失去了与之相匹配的赛道,海豹的物理特性就失去了用武之地,关卡不能得到预期效果。

简而言之,对物理特性的应用,点到为止就好。除非游戏主打的就是"难以驾驭的物理效果",例如《模拟山羊》。在通常的动作游戏中,我们运用物理特性,目的只有一个,就是为了使角色的运动更符合玩家的心理预期。

soogif1.gif
物理运动:关闭

soogif2.gif
物理运动:开启

在关闭物理特性的情况下,角色仿佛一头撞上了透明的墙壁,突然停止。

开启了物理特性之后角色的坠落运动更加平滑,让人觉得很自然。

技能动作篇

1.连招范例

先快速过一下连招的编辑方法。以下范例是把三个动作编辑成一套三连招。我们把状态机这么一画:

三连招状态机

17.jpg


soogif3.gif
动作A

soogif4.gif
动作B

soogif5.gif
动作C

2.连招的固定节奏

观察三个动作,得知:

动作A的开始姿势是待机姿势

动作A,B,C的结束姿势都是待机姿势

动作B的开始姿势是动作A某一个时刻的姿势

动作C的开始姿势是动作B某一个时刻的姿势

动作B和动作C是不可能单独释放的,它们都必须在上一个动作播放到某个时刻的时候才能释放。请看下面示意图:

中断发生时刻

21.jpg

【图例】

绿色格子称为"接收信息区间"
黄色格子称为"执行中断时刻"
注意:绿色是一个"区间",黄色是一个"时刻"
下文的图表将使用相同的图例

我们玩游戏的时候随便按按攻击键就能出一套普通攻击连招。只要连招使出来,它总是这样的节奏。这就意味着:在动作片段的绿色区间内,系统接收玩家的输入,但是等到黄色时刻才会执行动作中断。

最终效果演示如下:

20190222143323.gif
三连招完整演示

由于黄色的时刻是由开发者配置的,因此,并非按键按的越快连招的节奏越快。连招的节奏是固定的——是开发者根据角色的战斗风格而定下的节奏。

在一些游戏里面,绿色区间不总是如此的宽松。格斗游戏的"目押技"就是把绿色区间限制在非常短的几帧内。

3.连招的位移

通常来说连招都是带有位移的。连招会驱使角色在攻击中同时往前移动。

招式中所带的位移都是"固定位移"——位移距离和位移方向都是固定的。

游戏角色的动作要表达出来一种特定的气质。例如,我希望角色表达出来"迅猛""利落"的气质。为了达到这样的效果,我在这个动作的内,先后三次修改了运动速度。(注意是直接修改速度的参数,没有配置任何物理计算)。三个蓝色时刻依次为:起始速度、极速、刹车(突然变零)。

三次修改速度

23.jpg

20190222100717.gif

我们再看看下面动图:

20190222100720.gif

这个动作中角色最后在地上滑行的时间较长。这不就是所谓的“脚底抹油”吗?

以下动作也是凌厉的风格,堪称典范。

26.gif
《鬼泣4》维吉尔攻击动作

正在考虑更先进的做法,例如把动画师做的位移导出来,转换成技能位移的数据。

4.连招中的转向

下面的四连招攻击演示中,可以观察到,连招中输入转动摇杆,可以使角色每次攻击都朝着不同的方向释放。这样的配置,使玩家在实战中足以应付来自各个方向的敌人。

27.gif

28.gif

仔细观察可以发现,角色转身是瞬间发生的。先转身再挥刀,挥刀的过程中人物的朝向是固定的。这就意味着只有动作片段的最开头一小段时间内允许发生转身,之后的时间内禁止角色转身。

29.jpg

5.允许转身的时间

调皮的同学可能会问:何必限制得这么死?自由一点不更好吗?我让角色连招中可以转身岂不是美滋滋?

30.jpg
全程允许转身

soogif1.gif
典型的“脚底抹油”

其实这是有特例的,就是背随视角的游戏。我们放在最后说。

6.收招切跑步

角色出招之后,玩家推动摇杆,使角色切到跑步动作。

32.jpg

soogif2.gif

7.出招后切移动

值得注意的是,攻击动作整个过程中都不应该允许"转身",人物之所以转身是因为切了"走路",而"走路"允许转身。

soogif3.gif
注意人物脚下的箭头在什么时候发生变化

如果在攻击动画被切之前就允许转身,就会导致角色收刀过程中转身。

soogif4.gif
注意人物脚下的箭头

8.冲撞技能

普通冲撞

冲撞技能的"转向"是重要的作战性能。但即使这个动作允许玩家转向的,冲撞动作也并完全自由:冲撞的速度是固定的,转向也受到"转向灵敏度"的限制。

soogif5.gif
《鬼泣4》维吉尔技能演示

37.jpg

在上面的范例中,维吉尔冲撞结束后接了一个劈地动作。劈地动作是不可转身的,固定往前位移的动作,正是这一下动作使整个技能有了一个恰如其分的重量级结局。可见"固定位移"的动作是营造稳定手感关键。

连续冲撞

《鬼泣4》中维吉尔可以连续多次进行冲刺,冲刺之间可以转向。

soogif6.gif
《鬼泣4》维吉尔冲刺技能

状态机

39.jpg

值得注意的是收刀姿势的时间是固定的,这就意味着无论战斗多么激烈,玩家一定会目睹这个逼格十足的姿势的完成,这对于角色性格塑造有着关键性作用。游戏也因为这样的恰到好处的停顿而获得一个有张有弛的良好节奏。如果缺了这个收刀姿势,这本该帅气的冲刺手感就会逊色很多:

《RUNIER》在美术、音乐方面都可圈可点,赛博朋克范儿很足,可惜手感很飘。问题在下面这个图中暴露出来:

soogif7.gif
红色身影就是主角

第一次冲刺结束时,角色的pose完全定住,旋转,甚至连特效都跟着一起旋转。简直太尴尬了。

9.招式之间的闪躲

《怪物猎人:世界》很适合作为当下游戏的参考。之所以选取了大剑的动作是因为容易观察。实质上这个机制同样适用于快节奏的动作。

soogif1.gif
前翻滚

soogif2.gif
侧翻滚

soogif3.gif
后翻滚

角色朝不同的方向闪躲,会出现不同的翻滚动作。

划分象限

44.jpg
顶视角图

把角色所处的空间划分为四个象限
蓝色圆点为主角,蓝色箭头为主角面朝方向

此时玩家输入:摇杆+翻滚键

系统将摇杆方向与人物当时的朝向进行对比。摇杆方向落在哪个象限,决定了最后人物使出哪个翻滚动作。这样的机制营造出"角色很灵活"的效果。而实际上闪躲动作的位移也是"固定位移"。闪躲动作一旦触发,中途不会再次改变方向,而闪躲的位移距离也是固定的。

特殊机制篇

1.朝向辅助

目标系统是动作游戏必不可少的。下面演示中,在执行"朝向辅助"功能的时候,角色会瞬间面朝它的目标。

soogif4.gif
面朝目标:关闭

soogif5.gif
面朝目标:开启

"朝向辅助"执行时机

47.jpg

面朝辅助的作用在于修正细微的误差。一般来说限制在前方45°,一定半径范围内。如果范围太大,例如说能覆盖后背,这样就不合适了。

有的同学又皮了:"何必限制得这么死?我让角色在技能中一直面朝敌人,百发百中,岂不是美滋滋?"好,我们来试试:

全程执行"朝向辅助"

48.jpg

soogif6.gif
《CMD》镰刀"大风车"技能释放期间,角色的朝向频繁变化

现在你知道《DMC》和正统《鬼泣》的差距(之一)在哪里了。要是你说"我不服!老子就是要做一个360°无死角全方位自动瞄准日天日地日空气的龙傲天动作游戏!"

而居然真的是有特例,就是《蝙蝠侠:阿克汉姆系列》。我们留在最后说。

2.焦点式移动

焦点式移动,即我们平常在游戏中体验到的,锁定一个敌人,角色会绕着锁定目标进行绕圈移动。

soogif7.gif
《砰砰小怪兽》

在焦点模式下,技能动作依然是固定位移。以闪躲为例,闪躲仍然是直来直往,并没有变成"U字大拐弯"。在我印象中,能使出"U字大拐弯"的游戏,仅下面一款:

soogif8.gif
《SHINOBI》

我朋友大锤说《尼尔:机械纪元》里面闪躲也能拐弯。我当时可能光顾着看___去了,没留意到。大家自行回去回味吧。

3.追身技能

追身功能有两种实现方式。

第一种:在一个动作片段的某个时间段执行"朝目标移动"的命令。

1 52.jpg
追身作用的时间段

53.gif
追身之一

另外一种则是由两个片段组合起来:第一个片段负责追身,第二个片段负责攻击。

把状态机顺手一画:

54.jpg

两个片段的组合

55.gif
距离近-使用普通攻击,不触发追身

56.gif
追身-近距离

57.gif
追身-远距离

当追身到"足够近",角色就会切到攻击动作。因此角色的移动距离是不固定的。这是少有的距离不固定的情况。

"瞬移"效果与"追身"类似。除了朝目标沿直线移动之外,瞬移的目的地可以是一个固定的点,例如"瞬间移动至目标的正后方"。下面欣赏一段《鬼泣4》的演示。里面大量运用了面朝辅助和追身功能。令人惊异的是,在如此高速度的运动中,游戏的表现居然如此稳定,一点都不晕。这是真正体现开发者水平的地方。

soogif1.gif

即使在如此高速的运动中,维吉尔从不背对敌人,与《DMC》形成明显对比。

特例

背随视角游戏

背随视角类游戏和《鬼泣》有很大不同。来看一下《堕落之王》这个游戏。

soogif2.gif

在"锁定目标"机制的作用下,角色会一直面朝一个目标。此时玩家发动攻击,角色一边挥动武器一边旋转,转了四分之三个圆。实际上如果敌人不死,他可以一直转下去。再加上角色的动作设计缺乏美感,以至于整个效果看起来很滑稽。实际上,如果不是敌人AI这么傻,也不至于一直二人转...但是这游戏实在是各方面问题太多了。吐不完的槽。这里不深入讨论了。

但是我们不能因此说这个做法是错误的。在背随视角的游戏中,如果锁定了一个目标,普遍都是这样做的。因为此类游戏一般要求玩家同时应付多个目标,"锁定"功能的目的就是为让玩家可以一直针对一个目标,否则,就相当于是锁定功能没有达成它的既定效果。可以观察到《黑暗之魂3》也是这样做的:

soogif3.gif

新《战神》有一点非常明智,就是角色的出招动画中包含大量的"转身"。这样一来,酣战中即使发生转身,玩家也不会轻易察觉到有什么不妥。

soogif4.gif

除了奎爷这个转身的细节,实际上,在这种视角下,技能设计、敌人AI等等...很多东西都会发生变化。从旧《战神》到新《战神》,远远不止是"把摄像机调一调"这么简单。光是为这个视角的变化,肯定就花了开发者无数的心血。

《蝙蝠侠:阿克汉姆系列》

该系列Free Fow动作系统真是一个令人赞叹的发明。观察这一小段战斗。

soogif5.gif

可以看到,这个动作系统最大的特色在于——允许玩家不断地切换目标,角色根据目标所处的方位和距离,使出一个与之匹配的攻击动作。更惊人的是——上文所阐述的机制是把角色旋转至面朝敌人,再执行往前的攻击。这个则是攻击动作中带有"转身",角色可以朝任意方向发动攻击。尝试反推出它的机制,这个过程是让人头皮发麻的。

63.jpg
顶视图


【图例】


蓝色点为主角
蓝色箭头为主角面朝方向
绿色箭头为玩家摇杆输入方向
三个红色圆点为三个敌人

系统把主角所处的空间划分为四个象限。当玩家沿绿色箭头方向推动摇杆,系统认定B为最合适的目标,把角色的运动修正成黄色箭头的方向。这样一来系统就判断了合适的方向。

同时,系统还进行了距离的判断,方法就是把角色所处空间按照远近切分一下。

64.jpg

另一方面,开发者在游戏中制作了庞大的动作库,足以应付任意方向和距离。根据系统判定的距离和方位,在动作库里面选取合适的动作。稍微找两个例子:

这个"转身大摆拳"就是近距离背后方向的攻击:

soogif6.gif

这里两个"滑铲"动作,第一个是远距离背后方向;第二个是远距离前方向。

soogif7.gif
居然能倒后滑铲,我也是服气...

这...这简直厉害到可怕!而且,请、请问一共需要多少个动作?

四足兽的转身

四足兽在跑步过程中的转身不需要什么奇特的机制,跟人型角色差不多。真正蹊跷的地方在于"原地转身"。

四组兽的原地转身动作是全身的动作,四个脚依次发生抬脚,移动,落脚。四个脚带动怪物全身扭动。而当这个动作完成的时候,四个脚都是着地的。这意味着转身动作一定要播放完整,不能中间掐断。这就意味着——难以用一个动作涵盖任何幅度的转身。

如果没处理好,怪物看起来会非常不自然。体型越是巨大,穿帮越是明显。而《怪物猎人》系列为我们提供了绝佳的例子。我们看下图:

soogif8.gif

可以观察到:中分哥先进行了一次90°的顺时针转身,这个转身动画就是与90°这个幅度严格对应的。这个动作不能与任何其他幅度对应。回想一下你的狩猎生涯,中分哥如果要进行180°的转身,它可能会执行两次90°转身,或者是进行一次180°的转身。如果是后者的话,就是另外一个转身动画了。

在上面动图中,中分哥进行了90°的顺时针转身后,发现自己转过头了,于是又进行了一次10°的逆时针转身,之后才发动了攻击。

我们再考虑一下,中分哥是个AI,系统下达指令让它转多少度,就采用哪个相匹配的动作。但是如果这个四足兽是由玩家控制,这就意味着转身角度可大可小,该如何处理?《合金装备崛起:复仇》的《刃狼》章节可以为我们提供很好的参考,本文不作过多阐述。

结尾

总结一下,其实这篇文章真没什么高端技术。一个好的动作编辑器固然是必备的,然而更重要的是思路,还有态度。配置要谨慎、严格,好效果是慢慢磨出来的,并非一蹴而就。

好了,各位pong友,我们下篇文章再见~

0

主题

29

帖子

305

积分

中级会员

Rank: 3Rank: 3

积分
305
发表于 2019-2-22 11:18:01 | 显示全部楼层
“三连招完整演示”的动图配错了
希望这个系列一直更下去,我已经收藏了
基本很多做法的思路就是作者写的这样,我们也是这么做的,但是能把这些东西这么系统的写出来还是说明作者的功力是真的强

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
 楼主| 发表于 2019-2-22 14:44:43 | 显示全部楼层
3575174940 发表于 2019-2-22 11:18
“三连招完整演示”的动图配错了
希望这个系列一直更下去,我已经收藏了
基本很多做法的思路就是作者写的这 ...

感谢提醒,已修正

0

主题

1

帖子

7

积分

新手上路

Rank: 1

积分
7
QQ
发表于 2019-8-5 18:45:24 | 显示全部楼层
原地转身动画用多个不同角度的动画来拼接效果很好,但是我在做的过程中遇到一个问题,当玩家在怪物很近的距离绕圈跑的时候,怪物转身动画跟不上玩家的速度,结果怪物一直不停的转身,请问这种情况可以怎么解决呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-4-20 14:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表