如何做好游戏中的攻击动作-进阶教程

转自:http://www.gamelook.com.cn/2015/05/214071

GameLook报道/ 之前GameLook发布的《简单做好游戏中“攻击动作”的3个窍门》一文受到不少同学的欢迎,今天我们在上一篇文章的基础上对游戏中人物角色攻击动作的本质——身体运动的原理进行介绍,希望对大家今后的开发工作能够有所帮助。

今天我们从关节和骨骼肌的运动作用与反作用法则反作用动作旋转速度的控制运动连锁原则,这5个方面来详细介绍人物角色攻击动作制作中的注意点。

原文来自万代南梦宫工作室 ET开发本部 动画室动画课元梅幸司在CEDEC 2013的演讲,内容由GameLook整理:

1.关节和骨骼肌的运动

人通过收缩肌肉来完成身体的运动,有些时候这些动作甚至能够反映人物的感情以及性格特点。所以,肌肉运动做得有多真实,就决定了最终人物动作有多自然流畅。当然,这个观点不光适用于“人”身上,在所有有肌肉的动物都适用。

在很多人看来,关节是肌肉运动中重点部位。但实际上关节位于骨骼和骨骼的连接处,每个关节最少需要2块肌肉才能真正实现运动,肌肉的运动带动关节、调整速度。所以角色动画中最需要注意的并不是骨骼、关键,而是肌肉的运动

肌肉运动的本质

然而,肌肉是通过收缩来实现运动的。我们以弯曲手臂为例,在这个动作中内测的肌肉收缩、外侧的肌肉拉伸。肌肉不会自己伸展,肌肉的伸展一般发生在放松、受到外力牵引等状况下

利用肌肉的运动,带动2个以上关节的弯曲,我们就给人物赋予各种各样的形象。比如英文字母中的“C”型,通常给人强健、冷酷、敌意的印象。而“S”型,则给人柔软、灵活、迷惑的感觉。一个肌肉型角色在动作上出现违和感的话,很有可能就是因为某个动作上出现了S型。

C型动作展示

S型动作展示

2.作用和反作用法则

作用和反作用是相对的一套关系,使用得当就能够让人物的动作展现出优美的平衡感或者充满力量的攻击等。反之,如果没有这套法则的话,不要说人物的动作了,即便是站着不动给人的感觉都很别扭。

以跳跃为例,人对地面的力是作用力,地面对人则会产生反作用力,“跳跃”实际上就是通过这个反作用力来实现的。需要注意的是,反作用力的大小与作用力相同,方向相反

那么在游戏中怎么使用这一法则呢?我们来看下面的案例。比如下面的右手直拳,左手迅速收回是为“作用”,而右手则利用其“反作用”迅速击出。右腿前踢也是一样,原本至于身体前方的右手向后收产生“作用”,右腿利用反作用向前提出。在“作用”和“反作用”这套法则中,时机非常重要,时间点一旦错开角色动作就会出现不自然

作用和反作用的使用案例(直线)

作用和反作用的法则在旋转动作用同样适用,比如说人坐在转椅上抬起手和腿,手在保持水平的情况下左右运动,这个时候反作用会使得椅子向手臂运动的反方向旋转,而且身体稳定性也不高。

但如果双手同时做伸展和交叉运动的话,左手产生的反作用和右手产生的反作用则会相互抵消,椅子就不会旋转了,身体的稳定性也更高。要想让角色在身体稳定的情况下实现强力的旋转运动,一对相反的力是非常重要的

旋转动作中的作用于反作用

下图的“左旋反手拳”中,为了让左手击出的力量更大,右手就需要大力向后收。旋转系的攻击动作中,最重要的是要做一个与攻击相反的作用力,以此稳定身体

旋转系攻击动作(手和脚)

而在全身旋转动作中,地面的反作用也非常的重要。当人物进行全身性旋转动作时,地面会产生反作用,如果这个时候人物膝盖、躯干是一个松弛的状态的话,力就无法顺利传递到上半身。所以在这类动作中下半身、躯干部分的肌肉一定不是松弛状态。

旋转系攻击动作(全身性)

3.反作用动作

这一点实际上GameLook在上次的文章中也有所提及,动作游戏中角色在进行跳跃、打击等动作之前,攻击部位会有一个往相反方向运动的准备动作。这个小动作会使得角色的攻击更具真实性,即便出现现实生活中做不到的动作也不会给人明显的违和感。

我们还是以“跳跃”为例,笔直的站姿无法获得体重产生的反作用力,人也就跳不起来,所以人们在跳跃之前都有一个下蹲动作。下蹲的瞬间人体处于失重状态,人体本身的体重在这个时候会对地面产生作用力,地面同时对人体产生反作用力,进而完成跳跃动作。

跳跃中的反作用动作

另外,在跳跃动作中,大腿肌肉也会释放很大的力量。在“下蹲”阶段,大腿背面收缩、大腿正面拉伸,此时大腿正面就积蓄了弹性能量,这部分力量在腿伸直之后将得到释放,角色也获得更强的跳跃力。

游戏中的运用就和上一篇文章中提到的非常相近了,在角色的打击动作之前,增加一个身体向反方向收缩的动作。需要注意的是这个反作用动作只能够在攻击发动之前进行才会产生效果,现实生活中增加反作用动作的时间(也就是游戏中的“蓄力时间”)是不会增强力量的。

打击中的反作用动作

在理解了反作用动作之后我们还需要知道的是一个完整的动作中会有多组肌肉出现作用和反作用关系,举个例子,在上面这张图的右拳中至少有4组作用和反作用肌肉,它们分别是:

背肌-胸肌

大腿背面肌肉-大腿正面肌肉

手臂弯曲肌肉-手臂伸展肌肉

身体右转肌肉-身体左转肌肉

在明确了动作的作用肌肉和反作用肌肉之后,人物的动作也基本成型了。

4.控制旋转速度

“旋转速度”这个概念对于“攻击”来说也是非常重要,动作游戏中除了手、脚、身体之外,有时候还会有武器的旋转。

以模型为例,在旋转的初始阶段角色的双手处于展开状态,但随着旋转速度的提升,双手逐渐向里收紧最后变成抱胸的姿势。对花样滑冰有所了解的朋友或许会觉得很眼熟,因为花样滑冰的空中旋转动作中选手也都是这个姿势。

旋转速度的控制

简单解释一下,这是因为手臂运动的半径越小,惯性力量也就越小,更易于旋转。

我们再来看一下这个原理在游戏中的具体使用,比如右回踢,脚在离开地面之后并不是直接打开,而是马上收起(脚跟向屁股靠拢)。这样一来,以腰为轴心的旋转半径就缩小了,旋转速度(踢腿速度)也就进一步提升。当旋转速度到达一定程度之后,攻击部位再展开,角色的攻击动作就会更有魄力。

攻击动作中旋转的应用

另外需要注意的是,角色在空中进行上半身旋转攻击的时候,下半身会因为反作用而朝反方向旋转,如此一来身体的稳定性就下降,难以施展强力攻击。在这种情况下要施展强力攻击的时候,一般会伸展双腿加大下半身的惯性力量,这样下半身就不容易出现旋转,也就更为稳定。

空中的强攻击

5.动作的连锁

动作连锁原则,这对于所有攻击动作都有关联,英语中称为Kinetic chain。只有熟悉了动作连锁原则,你的角色才能摆脱单纯的肌肉收缩型动作。

我们继续以右拳为例,这一套动作从下半身开始,左脚向前移动,到固定位置之后停止。此时地面对左脚产生反作用,同时因为左脚停止了向前运动,膝盖的速度也就上升了,当膝盖停止之后腰部的速度再提升,然后是胸、肩。力量和速度随时间和动作不断向上向攻击部位传递,最终传递到人物的拳面,打出攻击。

攻击动作的连锁1

攻击动作的连锁2

攻击动作的连锁3

这套动作连锁中有两个窍门,首先是定位中心。元梅幸司在演讲中表示,下半身和躯干部位的力量不足的话,最终打击的力量也会下降。

第二个窍门是,关节和肌肉要在合适的时间点上固定。当下一个部位开始加速的时候,前一个部位必须要能够支撑起中间产生的反作用,所以其他部位的减速和停止都是非常必要的。

时间: 2024-11-05 02:27:14

如何做好游戏中的攻击动作-进阶教程的相关文章

Dota 游戏中的攻击与伤害分析

摘要:在上一篇文章中分析了物理攻击和护甲的攻防分析,但是忽略了英雄对战里面一个很重要的角色--技能攻击.实际上,除了少数后期英雄可以直接靠平砍(即物理攻击)杀人外,大部分英雄尤其是智力英雄还是要靠技能收割人头的.技能的使用也是评价一个玩家水平高低的主要指标.在本文中,我们就技能进行分析. 关键字:技能攻击 魔抗 护甲 伤害类型 攻击类型 Dota中的攻击类型共有普通攻击.穿刺攻击.攻城攻击.混乱攻击.英雄攻击和法术攻击6种.除了法术攻击,其他的统称为物理攻击.然而我们只考虑英雄的话,只有英雄攻击

浅谈游戏中BOSS设计的思路

对于大多数游戏来说,BOSS在其设计上都有着不可替代的作用,也是玩家印象最为深刻的一部分.近期自己也有在做BOSS的设计工作,有一些心得想要分享一下: 1.明确BOSS的设计目的 在设计之初,我们一定要想明白,设计这个BOSS的目的在于什么,一场BOSS战往往需要花费巨大的成本来制作:美术需要花费大量时间.经历制作与其相关的多种美术资源:开发需要编写大量代码来实现BOSS相对复杂的行为,以及实现对应动画.特效及相关音频资源.一场失败的BOSS战设计,不仅会花费大量的成本,还会令玩家感到十分反感.

cocos2dx游戏--欢欢英雄传说--为敌人添加移动和攻击动作

这里主要为敌人添加了一个移动动作和攻击动作.移动动作是很简略的我动他也动的方式.攻击动作是很简单的我打他也打的方式.效果:代码: #ifndef __Progress__ #define __Progress__ #include "cocos2d.h" USING_NS_CC; class Progress : public Sprite { public: bool init(const char* background, const char* fillname); /* the

漫谈游戏中的人工智能

写在前面   今天我们来谈一下游戏中的人工智能.当然,内容可能不仅仅限于游戏人工智能,还会扩展一些其他的话题. 游戏中的人工智能,其实还是算是游戏开发中有点挑战性的模块,说简单点呢,是状态机,说复杂点呢,是可以帮你打开新世界大门的一把钥匙.有时候看到知乎上一些可能还是前公司同事的同学的一些话,感觉还是挺哭笑不得的,比如这篇:http://zhi.hu/qu1h,吹捧机器学习这种玄学,对游戏开发嗤之以鼻.我只能说,技术不到家.Vision不够,这些想通过换工作可培养不来. 这篇文章其实我挺早就想写

让子弹多飞一会儿——谈谈游戏中的弹道(转)

电子游戏/电脑游戏发展已经有几十年了.很多老玩家们都是小时候从街机厅开始玩游戏的.转眼到了2010年,今天已经是网络游戏的天下.街机厅一个个不是关了门,就是变成了暗地里的赌博厅,网吧则在城市中遍地生根发芽.如今走进网吧,不是WOW就是天龙.DNF.人人戴着耳机,专注屏幕,没有了街机厅的那种喧闹,那种1元钱在街机厅混一个下午,一个牌子把<皎皎皎>复关6遍的日子已经一去不复返了.当然,时代在发展,网游从某种角度来说战胜了单机,也是因为有他得天独厚的优势.在网游中,社交被大大强化了.人们可以在游戏中

游戏中的人工智能(AI)和行为树科普

什么是角色游戏中的AI? 玩游戏的人都知道,有些游戏中的AI实在是弱智的要死.即使是在WOW这样顶级的游戏中,AI也是有限得掉渣,绝大部分NPC都像一个木桩一样,哪怕是精心设计的BOSS也就只有一些战斗AI.尽管有很多人把动画,或者自动寻路之类的功能也叫做AI,但是我们并不讨论这种基本功能.我们讨论的AI是指,可以使得NPC好像一个真人一样活动的AI.拥有这样AI的NPC看起来就不再是那个只有血条和攻击力的模型,而给玩家的感受会是一个有信念.欲望和意图的生命.从更广泛的意义上说,如果整个游戏世界

游戏中的AI算法总结与改进

参考文章: http://games.sina.com.cn/zl/duanpian/2014-03-11/105973.shtml http://www.oschina.net/translate/understanding-steering-behaviors-collision-avoidance?cmp http://blog.csdn.net/ityuany/article/details/5509750 一. 人工智能的定义 人工智能(AI, Artificial Intellige

游戏中的三角学——Sprite Kit 和 Swift 教程(1)

原文链接 : Trigonometry for Games – Sprite Kit and Swift Tutorial: Part 1/2 原文作者 : Nick Lockwood 译文出自 : 开发技术前线 www.devtf.cn 译者 : kmyhy 更新 2015/04/20:升级至 Xcode 6.3 和 Swift 1.2 更新说明:这是我们广受欢迎的教程之一的第三个版本--第一个版本是 Cocos2D 的,由 Matthijs Hollemans 缩写,第二个版本由 Tony

游戏中的网络同步机制——Lockstep(帧同步)

本文来自: https://bindog.github.io/blog/2015/03/10/synchronization-in-multiplayer-networked-game-lockstep/#top 值得参考文章:https://blog.codingnow.com/2018/08/lockstep.html 可参考的项目工程:https://github.com/CraneInForest/LockStepSimpleFramework-Shared 0x00 前言 每个人或多或