最近天天都在弄格斗游戏这玩意,正好写一篇相关的文章。下面以一个格斗动作为例,说说动作是如何设计和制作的。

1、动作的设计

首先我们需要构思一种攻击方式。比如:

角色施展这种攻击的时候,是在地面上,而不是在空中;

角色攻击前,会先向前迈步,拉近与敌人的距离;

角色是用手攻击,而不是用脚,或身体其他部位;

可能你觉得没有特效不够漂亮,于是我们设定这个角色是拥有控火能力的角色,并且攻击时带有火焰效果。

根据这样的构思,我们可以画出如下的一组序列图,一共15张:

2、动作的时间节奏

在游戏里播放这组图,就能看到一个攻击动作。假设游戏的播放速率是每秒60帧,我们需要设定:每张图在游戏里停留的时间,也就是帧数。一个简单的想法是每张图停留相同的帧数,但是这样的设定会让动作的节奏感很差。

一个攻击动作分3个阶段:攻击前的出招阶段、攻击瞬间、攻击后的收招阶段。如果要表现动作的力度感和节奏感,就需要出招发力迅捷,收招力尽缓慢。所以设计攻击动作时:出招时间应该少于收招时间。

上面的动作可以这样设定:出招阶段的每张图停留2帧,之后的每张图停留3帧。整个动作的时长是39帧,也比较合理。

3、角色的判定框

画完图,设定完时间,我们接着需要设定角色的各种范围,比如:

碰撞范围:正常状态下的两个角色不可能重合或者穿透,这是因为每个角色都有自己的碰撞范围,当两个角色的碰撞范围接触时,他们就不能继续前行。

攻击范围:如果角色的攻击范围和对方的身形重叠,对方就会被击中。

身形范围:角色的身体当前占据的范围。身形范围分2类:

²  受伤范围:被击中后,角色会进入受伤动作。

²  防御范围:有防御属性,被击中后,角色不会受伤。

在游戏中,这些范围都是用一个个矩形框来表示的,所以这些框分别称为:碰撞框、攻击框、受伤框、防御框。

4、设定碰撞框

碰撞框的作用只是限制角色的移动,它不需要与角色的身形非常吻合,比如下图:

在设定A中,攻击方的蓝色碰撞框与身形不吻合,但是攻击的时候,却能撞进对方身体,有强烈的撞击感和拳拳到肉的感觉。在设定B中,攻击方的蓝色碰撞框与身形比较吻合,但是由于碰撞框的阻碍,攻击方的肘部只能在对方身体上轻轻擦过。

如果攻击动作会向前快速移动,为了突出速度感和撞击感,碰撞框可以画在身后,但是不能不画。

5、设定受伤框

绝大部分身形框都是受伤框。不少人画受伤框时,框和身形非常吻合,比如下图:

彩图所示的角色原地待机,不时甩甩手,灰图所示的敌人向他进攻,会出现以下情况:如果攻击瞬间,被攻击者的手臂举起,则会被击中,否则不会被击中。即能不能击中对方,变成一个随机事件,这会影响手感的平稳性。

所以当角色原地不动或缓慢移动时,受伤框的位置大小也要保持不变或平稳变化,尽量避免框的来回晃动或抖动,不要为了框和身形的吻合性而牺牲平稳性。

如果角色在高速移动中,则玩家只能看到模糊的一团。此时,没有必要过分关注受伤框和身形是否吻合,只要画一个受伤框,框住这“一团”就可以了。

6、设定攻击框和攻击参数

通常攻击框会比攻击部位大一些,比如挥拳的时候,攻击框会比拳头大一些,否则,攻击框太小,可能很难击中对方。不必担心攻击框大了会视觉穿帮,在挥拳击中对方时,会产生耀眼的打击特效,特效会完全遮盖拳头与攻击框之间的空隙。

另外,攻击框和碰撞框之间,不要留下太多空隙,比如下图:

在设定A中,青色的攻击框能轻易的击中对方。在设定B中,你会发现角色迈步冲向敌人,并且已经挥拳穿透敌人,却竟然没有击中!

为了让攻击看起来更合理,攻击框和碰撞框之间的空隙要小于一个人的宽度。

画完攻击框,还需要设置攻击参数,最常见的参数有:

攻击力:击中对手时,造成的血量伤害。

攻击属性:能否破除对方的防御、能否击中飞行道具、等等。

停顿时间:击中对手时,攻击方和被攻击方的动作都需要一个停顿来营造打击感。

受伤动作:击中对手时,他的受伤动作。比如:击飞、向后退、或是扑到在地。

击中特效:不同特色的攻击有不同的特效。

另外,不同的格斗游戏有不同的系统,根据这些系统,可能还需要设置专门的参数。至此,一个攻击动作就算制作完成。

7、调整平衡性

动作制作完成后,需要通过实战来检验它的平衡性。当然,也可以在设计动作之初,就大致评估它的性能。

比如上文中的动作,如果设置的攻击力不高,也没有特殊的攻击属性,那么它可能会有些鸡肋。因为它的出招时间比较长,一共12帧,在这期间,角色没有任何攻击力,却可以被攻击。为了减小它的出招破绽,有3种办法:

减少动作的出招时间,但是动作的设计已经完成,如果随意改动时间,会破坏动作的节奏感。

动作的出招过程中,去掉某些图中的受伤框。实际中经常采用的办法。

动作的出招过程中,将某些图中的受伤框换成防御框。实际中经常采用的办法。

其实,平衡性的调整不单是针对某一个动作,还需要整体考虑角色的所有动作。动作和动作之间的配合使用,会让某些似乎很弱的动作很实用。

如果在调整平衡性的过程中,还能保持动作的鲜明特点,优势和劣势突出,角色差异性赫然,那么就有很高的艺术性了。

java动作游戏教程_格斗游戏的动作设计和制作相关推荐

  1. java动作游戏教程_用java设计实现一个简单的动作冒险类游戏

    用java设计实现一个简单的动作冒险类游戏 1.背景 这是java老师布置的本周作业,具体题目截图如下 2.分析 在UML图已经给出的前提下,此作业很容易.自己在此基础上,加了个简单的界面设计和玩家设 ...

  2. 开发框架——横版格斗——动作游戏教程

    动作游戏教程 游戏类型: 游戏Demo属于横版格斗游戏,是动作游戏的一种.动作游戏(Action Game),简称ACT,游戏类型的一种,是广义上的游戏类型.以"动作"作为游戏主要 ...

  3. 游戏设计之我见 —— 动作游戏中的敌人移动设计

    这篇博客结合了一些游戏案例,介绍了在3D动作游戏中常用的AI移动规律的设计. 移动方向 在3D游戏中,所有的物件都是以"横·纵·高"三个轴为基础进行移动. 但是对于动作游戏来讲,如 ...

  4. 我的世界java版游戏崩溃_我的世界全攻略之-游戏崩溃的解决方法

    我的世界崩溃怎么办?下面吾爱网小编给大家带来我的世界无法正常启动的解决方法,需要的朋友可以参考下. 我的世界作为许多玩家都十分喜爱的模拟经营沙盘类游戏,经常有玩家反映在玩我的世界的时候,游戏总是会出现 ...

  5. 计算机可以玩游戏吗教程,怎么在电脑上玩ios游戏_电脑上玩ios游戏教程_飞翔教程...

    脑上玩ios游戏教程来咯~飞翔铭月带来了电脑怎么玩苹果ios游戏的步骤.在电脑上玩安卓游戏可以通过安卓模拟器,那么玩iOS游戏该怎么操作呢?请看下文吧. 1.在越狱的苹果设备上找到Cydia,进入后在 ...

  6. 骨骼的动作识别数据集_[骨架动作识别]数据集

    NTU-RGBD CVPR2016 总共大约有56000个视频,60类动作,50类是单人动作,10类是双人交互动作.每个人捕捉了25个关节点.数据集有两种分割方式,cross subject 和cro ...

  7. 计算机一级网页制作教程视频教程,0626 网页设计与制作31讲,教学视频,湖南铁道职业技术学院陈承欢...

    主教材 Dreamweaver CS3 ISBN:978-7-04-027314-4 主编:陈承欢 高等教育出版社 主教材 网页设计与制作任务驱动式教程 ISBN:978-7-04-037271-7 ...

  8. dw网页设计期末设计一个网页_《网页设计与制作Dreamweaver》期末考试试题

    <网页设计与制作Dreamweaver>期末考试试题 1<网页设计与制作>期末考试试题一.单项选择题(每个题只有一个的答案是正确的.每题 3 分,共 60 分)1.目前在 In ...

  9. emfps游戏教程_【新教学上架】全面讲解FPS游戏第一人称动画制作 | Max动画——FPS游戏动作绑定实战案例教学...

    原标题:[新教学上架]全面讲解FPS游戏第一人称动画制作 | Max动画--FPS游戏动作绑定实战案例教学 Max动画--FPS游戏动作绑定实战案例教学 本教程由Emperor-Honoka老师制作, ...

  10. Unity2d平面动作游戏教程

    最终效果如下: 目录 玩家的基础移动 加入移动和跳跃动画 加入攻击动作 实现打击感 添加敌人受击动画与击退 添加敌人受击特效 攻击时的屏幕振动 首先实现最基础的功能,将环境拖拽进来,注意到环境的各个前 ...

最新文章

  1. 小米游戏本bios_小米游戏本2019款发布:顶配i7-9750H+RTX2060+144Hz
  2. 八大排序算法图文讲解
  3. 国家开放大学2021春1257混凝土结构设计原理题目
  4. Android中使用am命令实现在命令行启动程序详解
  5. eclipse 安装python开发工具 PyDev
  6. FreeNAS存储+iscsi
  7. python 测试开发请关注这个新框架
  8. Android studio Method of rename whole package(重命名包的方法)
  9. 20200612每日一句
  10. Sap Hana触发器
  11. ERP和进销存系统区别是什么
  12. oracle seq nextval,在oracle中使用sequence.nextval创建表
  13. js自定义函数传参(字符串)问题
  14. 判断两个单词是否互为变位词,如“book”,“koob”,代码如下
  15. Oracle EBS使用adpatch工具打patch过程 hotpatch mode
  16. elementUI按需引入时报错 :Cannot find module ‘babel-preset-es2015‘
  17. 误报率、故障检测率、漏报率、虚警率、误警率等指标异同及计算公式
  18. 将ipad作为Windows10系统的的扩展显示屏
  19. 报表中如何实现不规则布局
  20. qlabel文本改变信号_改变人类历史的17个方程,神奇!

热门文章

  1. (CentOS7)IP地址的配置与主机名和hosts映射
  2. 台式电脑 航嘉机箱 前面板耳机只有一边(左边)有声音 问题解决
  3. 比较好用的自定义软键盘
  4. jsp获取主机地址和主机名
  5. python找钱_python算法之找钱问题
  6. 工程伦理计算机论文,工程实践中的伦理问题研究
  7. 那个“天使”阿桑奇又回来了
  8. SEO分析关键词策略
  9. VSCode猜测字符编码
  10. VINS-MONO边缘化策略