
今日教程|横版角色近战攻击:拳击、挥剑与手感
今天这篇来自 Slynyrd 的 Pixelblog 第 9 期:Melee Attacks(Raymond Schlitter)。讲的是横版角色近战——从拳击到挥剑,以及怎么用 smear、overshoot、freeze 做出既有重量感又不拖泥带水的攻击动画。
一、从站姿开始:拳击的 Jab 与 Cross近战不能乱挥,得先想清楚“这一拳/这一剑”是什么动作,再对照真实发力方式(可以先写实再夸张)。一切从站姿开始:拳击常用双手护脸、重心在两脚之间、膝盖微屈。
作者用的是标准拳击站姿。Jab(刺拳):右手惯用的话,刺拳用左手直线打出;髋部略转、腿绷住,主要动的是出拳的那条胳膊。
Cross(直拳):右手从脸前直线打出,比刺拳更有力和远;可以带一点上步,但背别弓、头保持中正。在回收帧把站姿整体向左移 1 像素一帧,能做出“刹住”的弹跳感——这就是 overshoot:物体在停止前会稍微冲过停止点再停稳。
二、武器与挥剑:站姿要配合武器与攻击方式加上武器后,站姿很大程度上由武器的重量与平衡决定。例如双手大剑就像教程里那样双手举在身前;轻一点的弯刀可以单手挎在身侧或举过头。
选一个和武器、角色力量感相符的站姿即可。攻击方式也要和站姿衔接自然:想做“反手自下而上撩斩”,刀可以从腰侧出鞘位起手;想做“自上而下竖劈”,就像示例里双手举高的起手。

要强调重量可以多加帧或把某几帧多停一会儿,作者会在跟随(follow through)多停一点,让剑更有分量。大锤、双手斧可以蓄力和收招更慢,但smear 帧要少而快。
Overshoot 用在回收帧:挥完一剑后,身体/武器稍微冲过平衡点再回到待机,手感会更顺。三、五个关键词:Smear、Freeze、Overshoot、Exaggeration、GameplaySmear 帧:非关键帧、用模糊/拉丝强调运动轨迹,少量帧也能做出顺滑感。
通常一两帧 smear 就够,路径要符合从站姿到 follow through 的弧线;可以试试不同形状和颜色, smear 里加渐变能更顺。Freeze Time:在某一 pose 多停几帧增加打击感,适合用在蓄力或强烈碰撞的 impact 帧;要克制,别停太久,只在需要强调的动作上用。
Overshoot:物体减速停止时会略过停止点再回来,速度越快 overshoot 越明显,可以联想摆动的摆锤慢慢停下来的样子。Exaggeration:适当夸张能让像素动画更有力;作者会在手臂或武器伸展到极限时稍微拉长一点,既增加攻击范围又避免太僵硬。

Gameplay:做游戏时,手感优先。蓄力帧和收招帧加真实感,但太多会像输入延迟或“粘滞”。
多数像素游戏会压帧数保证“按下去就动”;大范围、慢而重的攻击 vs 小范围、快而轻的攻击,按你要的玩法选就好。教程里的竖劈覆盖约 90° 从头顶到身前,对“从上往下打”很友好,下半身则留给低处敌人。
四、小结侧视近战要兼顾一点真实发力逻辑和明确的游戏反馈。站姿决定起手与收招的弧线;smear 和 overshoot 负责顺滑与重量感;freeze 用在关键 pose 上加打击感;最后用帧数和攻击范围去匹配你想要的手感。