
本文目录
AnimGen 首页女剑士的挥剑预览有 4 秒。动作完整,但前后都有待机,中间还会压低身体停一下、举剑停一下、挥完再停一下。直接把整段视频接到攻击按钮上,玩家按下去后要等一会儿,动作也显得分成了几段。
这次把首尾等待剪掉,再抽掉中间拖慢节奏的帧,从 96 帧中留下 28 帧。下面是处理后的版本:仍以 24 FPS 播放,时长约 1.17 秒。也可以打开单次攻击演示,用按钮试试出招和回到准备姿势的节奏。
演示使用首页带灰底的 448 × 192 预览,保持原尺寸,没有插帧或重新生成。透明游戏资产仍需从对应的原始素材导出。
只裁掉首尾,动作还是会停顿
下面保留 4 秒原片作对照。可以留意:角色什么时候真正开始动,举剑后停了多久,剑落下后什么时候才开始回身。
这次选段从原片第 17 帧开始,到第 78 帧结束,帧号从 0 算起。首帧保留起手前的姿势,末帧保留回身完成的姿势;它们前后连续等待的帧都去掉。
只做这一步,还有 62 帧,约 2.58 秒。因为举剑前、举剑后和挥完后的停顿仍然在,攻击依旧偏慢,需要继续处理片段内部。
| 版本 | 帧数 | 24 FPS 下的时长 |
|---|---|---|
| 首页原片 | 96 | 4.00 秒 |
| 仅去掉首尾待机 | 62 | 约 2.58 秒 |
| 再抽掉中间停顿与部分过渡帧 | 28 | 约 1.17 秒 |
缩短停顿,留下挥砍的连续动作
起手和收招需要保留到什么程度,可以沿着剑和身体的位置判断。这份素材的抽帧分成三段:
- 起手,第 17–42 帧:从 26 帧缩到 9 帧。保留压低身体、抬剑、举过头顶的姿势,缩短几个姿势之间的停留。
- 挥砍,第 43–51 帧:连续保留这 9 帧,让剑光划过、落剑和特效消散连在一起。
- 收招,第 52–78 帧:从 27 帧缩到 10 帧。压缩挥完后俯身持剑的停顿,留下起身、收剑、回到准备姿势的过程。
上图来自精修后的动画,依次是 0.000、0.333、0.458 和 1.042 秒。姿势仍然能看清,姿势之间的等待已经缩短。抽帧时不要只留下这几张截图:抬剑、落剑和起身的中间过程还要连起来播放检查。
完整选帧顺序如下,数字是原片中从 0 开始的帧号。28 帧按这个顺序,以 24 FPS 播放:
17, 18, 20, 30, 32, 33, 35, 37, 42,
43, 44, 45, 46, 47, 48, 49, 50, 51,
52, 67, 68, 69, 71, 73, 74, 75, 77, 78
本次网页视频按这份选帧清单在本地重新编码。原片另行保留,方便对照。
在高级编辑器里调整自己的攻击节奏
在 AnimGen 打开生成结果或导入视频,通过选段与导出确定动作范围,再进入高级编辑器处理内部帧。
- 从源视频帧选出起手到收招的范围,加入动画序列。
- 在输出序列中选中多余的待机、停顿帧并删除。先处理变化很小的片段,每删一小组就播放一次。
- 起手和收招仍然拖沓时,再抽掉部分过渡帧。剑挥出的连续区间先保留,观察整体节奏后再决定是否继续修改。
- 输出保持 24 FPS,检查从准备姿势进入攻击,以及最后几帧回到准备姿势的衔接。确认保存后再导出。
24 FPS 下,删掉一帧会减少约 41.7 毫秒。把整个动画调快,会同时加快剑光和回身;按片段抽帧,可以分别处理起手等待与收招停顿。
如果某个地方删过头了,角色突然跳到另一个姿势,就把附近的过渡帧加回来。这里的 28 帧是这段女剑士素材的选法,自己的角色要沿着动作重新选。
点击一次,播放一次,结束后回到准备姿势
打开点击挥剑演示,试着点击攻击,再等它播放完。演示使用“准备”和“攻击中”两个主要状态,视频尚未开始时会显示加载提示:
- 页面打开时显示准备姿势。
- 点击攻击按钮,从选段第一帧开始播放。
- 播放期间再次点击,先忽略这次输入,避免动作不断被重置到开头。
- 动作播放完毕,返回准备姿势,并允许下一次攻击。
演示默认使用精修后的 28 帧版本。准备姿势取自精修片段第一帧,在等待点击时静态显示,不再把一段 idle 放进攻击播放时间。完成一次播放后,计数加一,画面回到这张图。重置按钮可以随时取消播放,并清空计数。
准备 → 点击攻击 → 从头播放一次 → 播放结束 → 准备
播放期间再次点击:不重启动作
点击重置:取消播放,计数归零
网页在视频实际播放结束时返回准备状态,时间读数也使用精修视频自身的时长。演示没有开启循环,播放倍率保持 1 倍。
连续点击也要实际试。一个始终能被重新启动的播放器,很容易在反复点击时只播放起手,剑还没有挥出去,动画就又回到第一帧。
如果后续希望玩家提前按键、当前攻击结束后接下一招,可以增加输入缓冲。当前演示没有保存播放期间的攻击输入;连击、闪避打断等规则可以等项目确实需要时再加。
剑光出现的时刻,还需要配合命中规则
演示负责播放和状态切换,没有碰撞或伤害判定。接入游戏时,还需要确定攻击何时能够命中。可以逐帧观察剑经过目标方向的区间,再在引擎里设置相应的有效窗口。
抽帧后也要重新核对时间。原片第 43–51 帧在新序列中是第 9–17 帧,占约 0.375–0.750 秒的播放区间。沿用原片的秒数,会让判定和挥剑错开。具体哪些帧允许命中,还要结合敌人位置与攻击范围检查。
攻击触发后是否允许移动、何时能接下一招、受到攻击时是否中断,都是游戏控制逻辑要处理的事情。先把动画放进一个简单场景,用实际输入检查,再决定这些规则。
导出时保留动作空间和统一的画布
挥剑会用到站立姿势之外的横向与上方空间。导出前检查剑尖、手臂和特效最伸展的画面,不要只按准备姿势裁出一个很紧的边界。如果生成时就容易超出画面,可以提前用Expand Canvas 留出动作空间。
准备姿势和攻击序列使用一致的画布与摆放方式,进入和退出攻击时更容易保持位置连贯。引擎里的原点也应使用一致约定;具体设置见画布与 pivot。
需要逐帧处理时可以导出 PNG 序列;已经确定动作后,可以使用精灵图或对应的引擎资产包。两种格式的取舍见精灵图与 PNG 序列对比。
用自己的角色测试时,先把“进入攻击、完整播放、返回准备姿势”接顺,再加入敌人和命中反馈。反复按几次攻击键,往往比持续循环播放更容易发现衔接和输入处理的问题。