打击感在动作游戏中如何实现?【战斗关卡篇】
打击感的本质是什么?打击感,实际上是一种触觉感官。而游戏的打击感是利用视觉(为主)、听觉来表现出符合物理预期的形象,以欺骗玩家的大脑,使其认为这个触觉事件发生了,即打中了目标,且力度很大,威力很强。
动作游戏中,战斗的打击感主要由以下要素构成:
动作
表现上。每个动作都需要考虑该动作是否符合角色的运动规律和特型,也得考虑动作是否符合角色性格、武器特点等。一般游戏角色的动作幅度都需要表现得夸张点,来增强视觉效果和功能效果。
动作分四大类,攻击类,受击类,待机类(包含持盾防御、持弓瞄准等),移动类(包含闪避、跳跃、飞爪钩住物品收抓冲刺等)。在增强打击感上,这四大类都需要精心雕琢,不过攻击类动作与受击类动作随着时间的推移,大致上已经有一套可以套用各种动作游戏的模板(或者说方法论)了。
攻击类动作
攻击动作有前摇、攻击区间、后摇这三大部分。
前摇:角色在进行攻击前或施法前的动作(如准备收拳发力、或抬起法杖等。在视觉上给人感觉要攻击了)。没有这部分,动作会显得软绵无力。
攻击区间:角色在进行攻击时的动作区间,用于攻击判定等。
后摇:角色在进行攻击后或施法后的僵直动作(力的缓冲)。部分攻击动作后摇会有演出动作,用于强调这名角色的独特性(如原神皇女在第四下普攻后会撩发,在第三下与第五下普攻后会嘲笑)。
需要注意的是,大部分动作游戏中,玩家角色普攻大约45帧左右(前摇15帧+攻击区间11帧+后摇19帧),角色最后一击普攻大约70帧左右(前摇23帧+攻击区间15帧+后摇32帧)。而普通怪物普攻大约50帧左右(前摇30帧+攻击区间10帧+后摇10帧)。怪物前摇普遍比玩家角色长,而怪物后摇普遍比玩家角色短。
受击类动作
受击类动作分受击部位,也分状态(击飞、浮空)。根据攻击方的攻击参数,受击方会播放相对应的受击动作。
受击部位:身体局部受力的动作类型,同一名角色有不同部位受击的动作。如一名丘丘人向前挥棍时,角色被打后是播放后仰受击动作。如一名丘丘人向右挥棍时,角色被打后是播放左仰受击动作。
受击状态:受击动作也分各种状态,如僵直状态、击飞状态、浮空状态、倒地状态等。在进入僵直状态时,角色被攻击会播放前/后/左/右受击动作。在击飞状态槽满时,角色会根据攻击方的攻击是播放后飞动作,还是播放左/右旋转后飞动作。在角色处于浮空状态、倒地状态时,角色被攻击一次会原地抽搐一下。
==============分隔符=
攻击时与命中时的明显化
攻击与受击动作是一个基础的命中标识,但识别度还不够高。因此还需要夸张的受击特效、身体的反白效果、音效、受击后停顿与镜头抖动效果、双方的位移与转向、受击后的伤害数字等ui提示效果,等。
特效
攻击/受击特效作用:
- 增强视觉反馈
- 辅助动作演出(动作不够,特效来凑)
- 强化攻击/受击节奏
- 识别攻击范围
- 根据外在表现,适配角色性格(有时候,用不同的特效颜色来区分不同的角色性格),区分武器类型、攻击种类特色等。
做法有:
- 颜色、形状、动画
- 受击的身体反白
- 空间扰动
- 镜头径向模糊(周围拉伸,并开始模糊)
- RGB分离(三原色分离)
音效
- 攻击音效
- 受击音效。具体播放哪一个受击音效,由攻击对象和被攻击对象决定。如铁剑砍到铁,播放金属碰撞音效。如铁剑砍到肉,播放肉裂音效。如魔法火球撞到铁,播放魔法火球消散音效。如魔法火球撞到肉体,播放燃烧肉的音效。
- 环境音效。有些动作游戏会有类似子弹时间的机制,在玩家进入该机制时,会通过修改环境音效,来重点突出这段时间的重要度与紧迫感,也配合这些子弹时间机制来侧面控制打击感。如荒野大嫖客进入猎杀时间、崩坏3进入子弹时间,环境音效会修改着重为3d环绕、超重低音。
顿帧
表现:攻击方命中目标后,攻击方动作、特效,受击方动作、特效,短暂暂停的表现效果。真正动作向的游戏不可跳过的一部分。注意受击方的顿帧表现并非必须的。因为敌人顿帧时无法进行其它操作,因此敌人受击顿帧可以用来延长受击硬直的时间。
作用:模拟现实中命中瞬间,力与反作用力造成地停滞地感觉。
(有些轻攻击不要顿帧)
(攻击频繁地角色,不要全程顿帧,会难受)
震屏
表现:跟随角色的摄像机根据参数随机抖动。
震屏方法通常与攻击方的攻击动作绑定在一起。
==============分隔符=
行为操作设置
操作反馈要及时
电脑里的人物是玩家的肢体延伸,玩家的操作要即时有效,就好像你开车,像左打了方向,车就即时的向左拐。方向打多少就拐多大的角度。准确和符合预期才能正常的操作。如果往左打了一点点,汽车直接原地转了3圈,或者随机拐一个角度,你就完全不可控了
攻击受击同步(主要是命中点和受击点的同步),这部分做不好会显得不真实。
主动反应频率与被动反应频率要相对一致化
反应频率:指玩家一定时间操作的次数。而反应频率又分主动反应频率与被动反应频率。
主动反应频率:指玩家一定时间内主动对敌人释放攻击、或使用技能道具补血等操作的次数。
被动反应频率:指玩家一定时间内被动闪避/防御敌人攻击、或被动去解除敌人技能机制等操作的次数。
在反应频率的角度去看,目前市面上大致有三种类型的动作游戏。
第一种为《黑暗之魂》《仁王》《刺客信条》这类低主动反应频率、低被动反应频率的类型动作游戏。
第二种为《只狼》《空洞骑士》这类可能具有弹刀机制、高主动反应频率、高被动反应频率的类型动作游戏。
第三种则是手游上最常见的《崩坏3》《鬼泣5》《原神》这类可能具有时停机制、高主动反应频率、低被动反应频率的类型动作游戏。
在整个战斗大框架上,主动反应频率与被动反应频率确认好后就不可以更改(整体上不能动,但一两个特殊玩法关还是可以的)。不然十分容易影响打斗流程体感,会使玩家体验变得怪异起来,而且没有一致性很不好做,这已经是设计策略方面出了问题。
时间精度与空间精度要设置好
时间精度:指玩家对时机的精准把握。如极限闪避(崩坏3)、盾反(黑魂)。
人面对环境迅速的变化,会有短暂的反应时间(由视神经传到大脑,大脑再下意识分析并发送指令给身体的时间)
人类反应时间相对稳定,在0.1-0.5秒之间,0.3是平均值
高精度时间:0.2s以下的时间窗口,判定严格,门槛高
中精度时间:0.2s - 0.4s大多数动作游戏精确玩法的窗口
低精度时间:0.4s以上,对精度操作要求宽松的玩法
空间精度:基本指玩家对攻击的攻击范围精准判断。
不能该打倒打不到、不该打到打到,对此策划要精细调整攻击盒的大小与形状。(ps:玩家大部分时候攻击敌人时,镜头都只面对着角色背后,因透视等原因,玩家总觉得打到了但实际是没打到的。因此玩家盒是可以微微调长一点)
连击帧事件与打断帧事件要设置好
如图红框,一个角色动作含有多个帧事件。玩家的连击,和播放动作时的打断,都可以通过帧事件来实现的。
连击帧事件与打断帧事件主要有:指令接收点、连击释放点、连击打断点,技能/移动/闪避/跳跃打断点,等。
- 指令接收点:用于普通连击/技能连击。时间线在接收点左侧时,玩家按下连击键系统会无视这次连击命令。时间线在接收点右侧时,玩家按下连击键系统则会保存连击指令,并于连击释放点释放下一连击。
- 连击释放点:用于普通连击/技能连击。连击释放点右侧通常有连击打断点。时间线位于连击释放点与连击打断点之间时,玩家按下连击键则会立刻释放下一连击。
- 连击打断点:用于普通连击/技能连击。当时间线位于连击打断点右侧时,该次连击结束,玩家无法通过按键释放下一连击了。
- 技能/移动/闪避/跳跃打断点:用于动作取消。如当时间线位于技能打断点左侧时,玩家无法用技能替代正在执行的动作,而时间线位于右侧时,就可以使用技能替代执行中的动作。(ps:在大多数act手游中,技能/闪避打断点在普通攻击动作中是没有的,它们只存在技能动作中,因为在《原神》《崩坏3》《战双》中,普通攻击的任意时间点都可以被技能/闪避给打断并替代)
在增强打击感上,这些帧事件也要根据动作幅度来调整的十分符合观感/手感才行,本身打击感就是由这些细节堆成的。
状态机制–受击僵直、受击击飞
玩家角色/敌人有僵直、浮空、击飞、石化、麻痹等各种状态。面对这些状态机制的实现方法,不同的项目有不同的做法(因为不同的项目,其核心战斗机制也是各式各样的,自然实现方法也各不相同),不过受击僵直和受击击飞在判定上和表现上大同小异。
受击僵直:
受击僵直指被攻击后,角色进入僵直停止攻击行为并播放受击动作的状态。受击僵直会根据受击方属性与攻击方这一击攻击参数来进行判定。
表现有:是否进入僵直并播放受击动画?播放什么僵直受击动作?进入僵直后自身坐标xz轴位移多少、多快?被攻击进入僵直后是否面向攻击方?(通常进入僵直会默认面向攻击方)
至于受击击飞,则与受击僵直差不多。
好,以上就是打击感相关的知识讲解,不过该文章还是处于宏观层面,细节方面只能说自己要多磨多调才能清楚理解了。