游戏开发论坛

 找回密码
 立即注册
搜索
查看: 11125|回复: 7

[分享] 游戏中过渡动画切换的常见形式

[复制链接]

8360

主题

9283

帖子

2万

积分

论坛元老

Rank: 8Rank: 8

积分
29945
发表于 2014-12-25 15:47:04 | 显示全部楼层 |阅读模式
1.jpg

  作者:ManiaHero

  过渡动画指的是,当游戏中的某个东西(可能是UI控件,也可能是游戏世界中的物体)从一个状态变化为另一个状态时,是需要过渡的,比如一个人从静止到跑动,需要一个迈出步子的动画,才能顺利地从走的状态过渡到跑的状态;或者比如一个按钮,从一般状态到被点下,如果这是一个需要做的十分华丽的按钮,按钮也会有一个从一般状态到被点下过渡的动画。理论上来说,一个制作精良的写实风格的游戏,绝大多数状态的迁移都是需要过渡的,只有某些不需要过渡的地方才会特殊处理,状态过渡应该是一个常态,因为这符合玩家对世界的认知,能够让物体看起来很真实。

  然而,这个过程的加入却使得状态迁移变的更为复杂。比如说,玩家控制他的角色从静止开始跑动,这时人物开始播放“迈出步子”的过渡动画,而在这时玩家如果命令角色停止移动,角色的动画应该如何处理?本文就是来讨论几种常见的处理状态过渡切换的方式的。

  过渡动画本身是否应该当做一个状态处理,要和程序员进行商量,一同进行设计。

  1、有始有终

  有始有终的处理方式就是,一旦开始进入过渡动画,任何事情都无法阻止这个物体完成其状态的过渡,这个物体不接受玩家下达的任何指令,或者玩家下达的指令等到过渡动画完成后才会被执行。

  游戏中场景的切换经常会用到这种方式,比如玩家从一个全屏窗口进入到了另外一个全屏窗口,新的全屏窗口在播放登场的过渡动画时候,窗体内的所有控件都不会响应玩家的操作,直到过渡动画播放完成。《炉石传说》中从主菜单进入任何一个模式采用的就是这种做法,即便玩家能眼疾手快地在模式弹出动画尚未完成前就点击到由于过渡动画而运动中的按钮,按钮也不会响应玩家的操作。玩家把鼠标悬停在法力水晶上时,水晶会亮起,移开时水晶会变暗,这两个状态过渡也是这一种类型的,不会由于玩家频繁地将鼠标移入移出而乱闪。由于法力水晶是无法进行交互的对象,因此这种处理方式也没有问题。

  格斗游戏中人物的状态迁移也会给人以有始有终的感觉,即玩家一旦执行了某个动作,在这个动作执行完毕或被打断之前,角色处于失控状态,不会接受玩家下达的任何指令。不过这种做法不适合绝大多数游戏中的角色状态迁移,因为这会让角色变得相当难以操作。

  2、有来有回

  当物体由状态A迁移至状态B,在播放过渡动画时,又要从状态B迁移回状态A,有一种很适合的做法是直接停止当前过渡动画,并且反向播放,倒退回状态A。它保证了物体运动的连续性,在过渡动画的任何时刻玩家下达指令,物体都能流畅地倒退回原本的状态。

  这种做法非常适合只有两个状态进行来回迁移的物体,比如一个浮出窗口的打开和关闭,一个按钮的亮起和暗掉等等。

  3、立刻完成

  立刻完成指的是,如果在过渡动画的状态下玩家下达了其他指令,那么就立刻完成过渡动画的播放,从过渡动画播放完成的状态开始执行玩家的指令。这种做法适合于某些情况下的多种状态迁移,由状态A迁移至B,然后又迁移至C。

  比如,玩家将鼠标悬停至某个按钮上时,按钮在播放从一般状态到悬停状态的过渡动画,而此时玩家如果点击了按钮,就立刻完成过渡动画,从悬停状态开始播放按下按钮的过渡动画。

  但是这种做法会使动作的连续性遭到破坏,因此不适用于持续时间较长的过渡动画。

  4、加速完成

  加速完成指的是当某个物体处于由状态A至状态B的过渡动画过程中,玩家又下令让物体迁移至状态C时,则加速完成过渡动画A至B,并且加速后的过渡动画处于“有始有终”的状态,在播放完成后立刻执行迁移至状态C的指令。考虑到人类的反应速度,如果加速后的过渡动画在0.1秒内完成,指令延迟还是在可接受的范围内的,但这0.1秒的加速过渡动画,有和没有在体验上却是天壤之别。我们用指令的轻微延迟为代价,换取了状态切换的连续性。

  比如,玩家的角色一开始坐在地上(状态A),玩家命令其站起(状态B),这时开始播放站起来的过渡动画(A至B),此时玩家又命令角色移动(状态C),站起来的过渡动画(A至B)被加速到0.1秒内完成,即角色更快速地站了起来,站起来后角色开始播放由站立到移动状态的过渡动画(B至C)。

  如果在站起来的0.1秒内(加速的A至B)玩家又下达了跳的指令(状态D),假如我们采用“有始有终”的做法,那么这个指令要等待0.1秒的过渡动画(加速的A至B)完成后,才开始,即播放由站起来到跳起的过渡动画(B至D)——也就是说,玩家原本的由站立到跑动(B至C)的指令被覆盖了,替换成了由站立到跳起(B至D)。更进一步,假如在这0.1秒内玩家下达了无数个导致状态迁移的指令,除了最后一个以外的指令全部都会被覆盖,最终只执行最后下达的指令,并开始播放过渡动画。

  另一个做法是,加速后的动画再次接受指令时,不用“有始有终”的做法,而用“立刻完成”的做法。

  接着用刚才的例子,如果玩家的角色在站起来的0.1秒内(加速的A至B),玩家又下大了跳的指令(状态D),那么由坐到站的动画(加速的A至B)会立刻结束,开始播放由跑至跳的动画(C至D)。这体验很怪,因为玩家会发现自己的角色还没有完全站起来,却突然开始播放由跑进入跳的状态了。

  这种做法牺牲了一定的连续性,而最大程度上保证了玩家操作的即时性,在对即时计算要求较高的游戏如动作游戏中,这种做法更适合,而如果是RPG则第一种做法更合适。我猜测《魔兽世界》就是采用的第一种做法,虽然我并不知道他们的角色状态是如何控制的。而采用第二种做法的游戏并不常见,因为这种做法比较麻烦,注重即时操作的游戏往往都只采用“有始有终”或“立刻完成”的做法了,要么就得动画全播完,要么就是播到一半就能强制转换状态(比如《拳皇》的SUPER CANCEL机制),很少采用“加速完成”与“立刻完成”相混搭的做法。

102

主题

2443

帖子

7639

积分

论坛元老

Rank: 8Rank: 8

积分
7639
发表于 2014-12-25 16:38:54 | 显示全部楼层
使用取消技往往可以省去一个前摇/后摇。

8360

主题

9283

帖子

2万

积分

论坛元老

Rank: 8Rank: 8

积分
29945
 楼主| 发表于 2014-12-25 16:39:36 | 显示全部楼层
herosone 发表于 2014-12-25 16:38
使用取消技往往可以省去一个前摇/后摇。

点评

;)  发表于 2014-12-25 16:41

2

主题

17

帖子

118

积分

注册会员

Rank: 2

积分
118
发表于 2014-12-26 00:33:00 | 显示全部楼层
玩发啥的都是策划的事 操作呢 也是策划的事 有时候想想策划是不是管太宽了

2

主题

17

帖子

118

积分

注册会员

Rank: 2

积分
118
发表于 2014-12-26 00:33:21 | 显示全部楼层
玩家咋想 你真的了解么

14

主题

785

帖子

1669

积分

金牌会员

Rank: 6Rank: 6

积分
1669
QQ
发表于 2014-12-26 10:39:05 | 显示全部楼层
听欢乐的。

102

主题

2443

帖子

7639

积分

论坛元老

Rank: 8Rank: 8

积分
7639
发表于 2014-12-26 10:54:49 来自手机 | 显示全部楼层
本帖最后由 herosone 于 2014-12-27 19:11 编辑

取消技通常分为技能取消和拳脚取消两种,基本没有移动取消的,但是有一种很特殊就是状态取消的BUG。
我记得泰瑞在97里的(不在版面旁边的)无限连就是一种取消技,但是该取消技其实属于“判定框取消”。利用的是“对方的判定框本来不可对空追加攻击”由于人物改变站立状态为蹲下,使对方判定框状态改变为“不是空中受身状态”而追加攻击,是个BUG。[跳跃重脚或重拳+站立重脚或重拳+轻能量补充+下J(挥空取消)+轻能量补充+下J……(无限连,节奏要掌握好)]
取消技通常是利用某些技能和拳脚可以覆盖画面最后几帧而提前放出来,比较变态的有高人取消后改变状态再连接的,例如空中攻击→空中取消技取消自己攻击好让自己提前站立到地面→地面技。
目压技是精确到1/60帧的技能,也就是人眼→大脑→手脚反馈,可以少于1/60秒。
不过我不打格斗游戏的,为什么会知道?因为我是Bitch设计师。基本上,假如拳脚有可能连接便省略帧数。假如不可以连接便在播放前一段动画后再播放动画。例如霸王丸可以在奥义孤月斩的时候输入指令,动画播放之后自动放出天霸封神斩(记不清了太久了)。
事实上还有“按键省略”后放出技能的方法,这也是一种取消技,不过我不知道怎么用。
就是放技能后,即使不按某些按键也可以正常放出其他技能。
例如有时←↙↓↘→在释放某些技能后可以省略为←↓→,↓↘→╋拳可以省略为↓↘→,还有很多的……《拳王》里有这样的东西。

32

主题

782

帖子

1772

积分

金牌会员

吐槽机器

Rank: 6Rank: 6

积分
1772
QQ
发表于 2014-12-27 16:45:41 | 显示全部楼层
把界面动画和角色动画混在一起讲简直是不知所谓
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-23 19:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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