APP下载

利用状态机与游戏动作配合赋予游戏生命

2019-03-29马林初

商情 2019年8期
关键词:待机物体状态

马林初

电子游戏是继绘画、雕刻、建筑、音乐、诗歌(文学)、舞蹈、戏剧、电影等八大艺术形式之后被人们公认的“第九艺术”,是当今最受人们欢迎的休闲娱乐方式之一。

电子游戏是门年轻的艺术形式,所以需要不断地吸取其他艺术形式所积累的精华来不断进步。例如《战神4》、《底特律:变人》等强调剧情的游戏,需要应用电影的剧本、分镜知识;画面质量高的游戏中,场景的布景、布光等全都是电影行业的用法;文字类游戏则是应用了诗歌、文学、戏剧等文法技巧。

综上所述,制作游戏需要的知识系统十分繁杂、精深,这里不做全面讨论。本文旨在结合一些动画知识,令游戏制作更加生动有趣,以起到抛砖引玉的效果。

1.游戏中的状态机

1.1状态机简介

从程序角度来讲,有限状态机(英语:Finite-state machine,FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。

基本上所有的软件都是有限状态机。它是一个有向图,由一组节点和一组相应的转移函数组成。通俗点讲,它是一个事件驱动系统的模型,这个模型由有限数目的状态,若干输入和状态与状态之间转换的规则组成。在某一时刻,有一个或一组状态是FSM的当前状态,FSM接收输入事件并根据转换规则,将当前状态转为新的状态。正是由于这三个元素的组合,使得FSM具备了自己的行为特点。在游戏开发中,FSM被用来实现人工智能的决策过程,控制游戏对象的行为。

但是作为游戏设计者,我们还可以从另一个角度去理解状态机。我们在电脑上看视频的时候,可以点击播放键播放视频,可以点击暂停键暂停视频,除此之外还有快进、慢放等等功能各异的按键。

游戏中状态机的作用也是一样的,你可以把一个个状态理解成一个个播放器上的按键,当我们触发某种条件时,动画就会播放。

1.2状态机的应用

引擎里的这个界面描述的就是状态机系统。其中的每个节点都代表一个状态,触发条件就会播放相应动画,而箭头连接一般都是双向的,便于灵活切换状态,并且都会回到idle(待机状态),因为待机状态是人物常态,几乎所有动作都从这里开始,到这里结束。

如果主人公会跳跃、攀爬等,所以状态机会更复杂一些。

可以看出,其中所有的走、跑、跳动画全都是原地进行的,位移都是靠程序计算的:先给出速度,再判断持续时间,最后得出位移数值。

接下来再展现一个带有战斗系统的状态机,由于这是一个街机格斗类项目,人物除了走跑跳,还涉及到攻击、受伤、死亡等状态,所以状态机相对比较复杂。

我们来分析一下它的原理。由于我们没有击中敌人就不会产生连击,所以从待机只能切换到第一次攻击,即Attackl。只有先满足触发Attackl,并且不被打断,才会有接下来的Attack2、Attack3,待机状态则无法直接进入Attack2、Attack3,Attackl、Attack2、Attack3之间是有序的线性关系。而Attack2、Attack3在被中断的情况下会则返回待机状态,所以如图所示,从Attack2、Attack3到待机状态都是单向的,Attackl、Attack2、Attack3之间的流程也是单向、不可逆的。

1-3游戏动作制作要点

如引言所述,状态机和游戏动作的关系,相当于播放器按键之于动画播放,所以如果动画没有制作好,那么再复杂的状态机设置及代码运算都将毫无意义。如何将游戏动作做得活灵活现呢?这就需要借助一些动画领域的知识了。

1.3.1动画的压缩和伸展

当物体受到外力作用时,必然产生形体上的压缩和伸展。动画中通常用压扁和拉长的手法,夸张地表现这种形体改变的程度,利用运动趋势的反差加强动画的张力和弹性。

1.3.2准备动作

动作一般分为准备动作和行动动作。准备动作是动作的准备阶段,一般情况下它的运动趋势与行动动作相反,能让主要动作变得更突出、更有力。在动画角色做出准备动作时,观众能够以此推测出之后的行动动作。

1.3.3夸张

夸张是动画的特质,是将角色动作極限化的手段。夸张可以让角色的情绪更为饱满,动作更富戏剧性。但夸张要注意适度,太过的话适得其反,会跳戏。

1.3.4跟随与重迭

跟随和重迭是一种重要的动画表现技法,它使动画角色的各个动作彼此间产生影响,融混,重迭。移动中的物体或各个部分不会一直同步移动,有些部分先行移动,有些部分随后跟进,并和先行移动的部分重迭的夸张表演。

跟随和重迭往往和压缩和伸展结合在一起运用,能够生动地表现动画角色的情趣和真实感。

1.3.5慢进慢出

人体的动作是由肌肉拉伸形成的,所以动作动作的起始都是缓慢平滑的。所以我们在制作人物动作时,要放慢关键动作附近的节奏,加快过程节奏,这样既可以让动作符合人体运动规律,又能让动作节奏丰富多彩。现实世界中的物体运动,也多呈一个抛物线的加速或减速运动

1.3.6圆弧动作

动画中物体的运动轨迹,往往表现为圆滑的曲线形式。因此在绘制中间画时,要以圆滑的曲线设定连接主要画面的动作,避免以锐角的曲线设定动作,否则会出现生硬、不自然的感觉。不同的运动轨迹,表达不同的角色特征。例如机械类物体的运动轨迹,往往以直线的形式进行,而生命物体的运动轨迹,则呈现圆滑曲线的运动形式。

总结:

综上所述,游戏制作中状态机与游戏动作的关系就像两个紧紧咬合的齿轮,联系非常紧密,缺一不可。如果状态机设计非常完善,游戏动作不好看,那么整个游戏作品的节奏都会受到很大影响,角色生命力也会减弱;反之,则会让动画在不合时宜的时候出现,动画做得再好也会有种强烈的违和感。

只有这两个模块都设计好,并且让它们有机地进行配合,才会让游戏更加有生命力。

猜你喜欢

待机物体状态
机顶盒最会偷电
智珠二则
触屏
提醒待机插座
揭开物体沉浮的秘密
为什么同一物体在世界各地重量不一样?
“牛顿第一定律”练习
“力”常考易错点扫描
悬浮的鸡蛋
轻松DIK手机彩图与铃声