热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

游戏中的弹道学手册(转)

【1】直线单体必中飞弹代表单位:《帝国时代1》的弓箭手,《海岛奇兵》的步兵直线飞行,只会击中被攻击的单位,命中率100%。看起来飞弹会穿过一些单位,但其实只会击中被锁定为攻击目标的单位。如果飞

【1】直线单体必中飞弹

代表单位:《帝国时代1》的弓箭手,《海岛奇兵》的步兵

直线飞行,只会击中被攻击的单位,命中率100%。看起来飞弹会穿过一些单位,但其实只会击中被锁定为攻击目标的单位。如果飞弹在飞行的过程中目标单位已经被摧毁,则飞弹会继续飞行一段距离之后消失。

虽然理论上来说弓箭手的弹道应该是抛物线,但《帝国时代1》中的弓箭手是直线射击的,我们就不要对老游戏太苛求啦!

【2】直线单体真实碰撞飞弹

AT君的弹道学手册

代表单位:《合金弹头》的小手cc枪、H枪,绝大多数射击游戏的飞弹,《英雄联盟》莫甘娜、光辉女郎、蒙多医生的Q技能

这种是射击游戏中最常见的飞弹,飞弹发射后沿着直线一直运动,直到与某个目标碰撞发生爆炸,或者直接飞出屏幕超出最大飞行距离。有一些塔防中也采取了这种机制作为基本的飞弹机制,比如《炫光塔防(Hex Defense)》。对于这种飞弹来说,飞行速度很重要,因为飞得越慢越不容易命中。玩家需要预判目标的移动进行射击。

【3】直线贯通真实碰撞飞弹

代表单位:《暗黑破坏神3》法爷的秘法光球,《合金弹头》中的F枪

这种飞弹与②十分类似,会沿着直线不断的飞行,但在击中一个目标后不会销毁,而是继续飞行,从而伤害更多的后排敌方单位。不会重复对同一个敌方单位造成伤害。

在很多游戏中,这种飞弹表现为火焰喷射器一类的武器,飞弹飞行的速度可能较慢。

下面开始是瞬间伤害类。

【4】直线瞬间单体必中飞弹

AT君的弹道学手册

代表单位:《DOTA》电魂的普通攻击,《魔兽争霸3》的闪电链与叉状闪电,《星际争霸2》中的枪兵、死神、白球、雷神、坦克、虚空辉光舰、哨兵等

与①类似,只会命中被锁定的攻击目标,但是飞弹的飞行速度无限大,或者说是在发射的一刻就命中了对手。由于瞬间到达的特性,因此在大多数游戏中表现为闪电之类的飞弹。

【5】直线瞬间单体真实碰撞飞弹

代表单位:《暗黑破坏神3》法爷的冰霜射线,《DOTA2》火凤凰的E,《反恐精英》的几乎所有枪械

向前方发射一条射线,命中第一个击中的单位。射线的飞行速度无限,一般会有个最大距离。一般游戏中会表现为射线或狙击枪。

【6】直线瞬间贯通飞弹

AT君的弹道学手册

代表单位:《暗黑破坏神3》法爷的裂光波,《反恐精英》的狙击枪,很多飞行射击游戏BOSS的激光束如打击者1945 Fiat G-56机的蓄力攻击

也是面向某个方向瞬间发射一条速度无限的射线,贯穿第一个敌人,命中后面的更多敌人。和⑤一样,多表现为激光束或狙击枪。

到这里可以总结一下了,所有的直线弹道飞弹基本上属于这六大类型,可以看出来,【3】【4】【5】其实就是【1】【2】【3】的速度无限大版本,但实际在程序的实现上方式相差可能是相当大的!于是我来一个分界线吧。

好,下面开始是追踪飞弹。

【7】追踪单体必中飞弹

代表单位:《星际争霸》的绝大多数远程单位,如龙骑士;《命令与征服》的导弹兵;《DOTA2》与《英雄联盟》的绝大多数远程普通攻击

飞弹会一直追踪锁定的特定单位,直到击中,命中率100%。如果飞弹在飞行的过程中目标单位已经被摧毁,有些游戏中的飞弹会立刻爆炸,有些游戏中的飞弹会重新定向一个新的目标,有些游戏中的飞弹会沿着直线继续飞行下去直到爆炸。如果目标的移动速度大于飞弹的移动速度,永远无法命中,因此这种飞弹一般有最大存活时间,飞行一段时间后如果还没有命中就销毁。很多射击游戏中也会有这种飞弹作为辅助的攻击手段。

绝大多数塔防中的飞弹均属于此类,这是因为《魔兽争霸3》和《星际争霸2》中这种飞弹被作为默认飞弹用的非常多,因此受到这个影响MOBA游戏和塔防游戏中这种飞弹也用的超多。

【8】追踪单体真实碰撞飞弹

代表单位:《虚幻竞技场3》的Rocket Launcher

与③类似会不断追踪某个单位,但会与任何敌人发生真实碰撞而引爆。在FPS游戏中较为常见,在其他视角的射击游戏或上帝视角的RTS游戏中不怎么常见。由于有制导功能,一般不是表现成导弹就是表现成火箭。

下面开始是抛物线类。抛物线的起点和终点不一定在同一个水平面上,比如可以从飞机上投弹,也可以从低处向高处发射。

【9】抛物线单体必中飞弹

代表单位:《国王守卫军》的箭塔

实际的逻辑和①类似,是一种只会对锁定的目标进行攻击的飞弹,表现起来是抛物线,但实际上一定会命中。实际上二者的逻辑没有区别,但可能某些飞弹不适合表现成能够追踪敌人的,因此做成了【1】的样子。

如果未能命中则落在地上,一般的表现形式是弓箭。

【10】抛物线单体真实碰撞飞弹

AT君的弹道学手册

代表单位:《帝国时代2》的弓箭手,《合金弹头》的手雷,《愤怒的小鸟》,《要塞》的弓箭手,《骑马与砍杀》的弓箭,FPS游戏中的榴弹,《弹弹堂》类型的射击游戏

一个按照抛物线运动的飞弹,并且会和敌方单位进行真实碰撞检测。在纵版2D射击游戏以及FPS游戏中很常见,在RTS中也有一些如《帝国时代2》或者《要塞》的弓箭手,但由于在RTS中地面单位都是在一个平面上而不入纵版游戏中明显。

【11】抛物线对地攻击飞弹

代表单位:《魔兽争霸3》中的投石车,《百战天虫》的手雷,《流亡黯道》的熔岩打击

同样是抛物线,但不会与敌方单位碰撞,而是落到地面后才会爆炸。

很多游戏中的抛物线飞弹是在落地后可以弹跳的,如《合金弹头》的C枪,《英雄联盟》爆破鬼才的Q,《命令与征服》GDI的掷弹兵等等。

下面开始是地面飞弹类。地面飞弹指的是沿着地面运动的飞弹,大家可以想象一下《拳皇》中八神庵的暗勾手,或者《DOTA》中就是一种沿着地面运动的飞弹。这类飞弹很少,一般是需要特殊机制的支持才会有存在的意义,否则与【1】~【6】飞弹区别不大;比如《拳皇》是格斗游戏,飞弹运动的高低会影响命中,而俯视视角的游戏中这种飞弹的机制一般与地形紧密结合,如《星际争霸》中的金甲虫,《DOTA2》中召唤师的混沌陨石(不断向前滚动的大陨石)。《流亡黯道》中的地面飞弹则有着和人物同样的寻路逻辑,因此在《流亡黯道》中【1】~【8】类飞弹能够穿越一些小障碍物,但地面飞弹不能。地面飞弹一般还不能跨越地形高低差,如悬崖或者瀑布等。

【1】~【8】类基本都可以转换成对应的地面飞弹(即下面的【12】~【19】),因此这段我会简单写一写。

【12】直线单体必中地面飞弹

AT君的弹道学手册

代表单位:《流亡黯道》中的闪电打击

与【1】类似,不过飞弹是沿着地面运动的,只会击中被锁定的攻击目标。

【13】直线单体真实碰撞地面飞弹

AT君的弹道学手册

代表单位:《拳皇》八神的暗勾手,《合金弹头》的I枪

沿着地面向前直线移动的飞弹,命中第一个敌人后销毁。

【14】直线贯通真实碰撞地面飞弹

AT君的弹道学手册

代表单位:《星际争霸2》异虫的潜伏者

沿着地面向前移动的飞弹,伤害路径上的所有敌人。

【15】直线瞬间单体必中地面飞弹

代表单位:《星际争霸2》异虫的脊针爬虫

瞬间命中锁定的目标的地面飞弹。可以表现为从地下突然钻出的攻击方式。

【16】直线瞬间单体真实碰撞地面飞弹

代表单位:???

与【5】一样,只不过换成了地面飞弹。目前没有想到哪个游戏有类似的飞弹。

【17】直线瞬间贯通地面飞弹

代表单位:《DOTA2》撼地神牛的Q,《拳皇》大门五郎的地雷震

【18】追踪单体必中地面飞弹

代表单位:《英雄联盟》中熔岩巨兽的Q,《魔兽争霸3》穴居恶魔的普通攻击

一个在地上滚的飞弹,而且还制导!可以表现为树根、藤蔓一类有生命的飞弹。

【19】追踪单体真实碰撞地面飞弹

代表单位:???

可以表现为不断陷落的地面或蔓延的熔岩,所到之处无所幸免。目前没有想到哪个游戏有类似的飞弹。

【20】直线对地攻击飞弹

代表单位:《海岛奇兵》的重机枪

与【11】类似,飞弹不与单位碰撞,而是轰击指定地点,并且造成单体或范围伤害。与【11】的区别是飞弹以直线的方式运动,而不是抛物线。

实际上飞弹还可以有更复杂的运动规则,如《星际争霸2》中某些英雄单位的火箭弹幕技能,飞弹飞起来非常好看,但由于实际机制和【11】、【21】没有区别,所以不做赘述。

【21】对地瞬间攻击飞弹

AT君的弹道学手册

代表单位:《战争机器》的曙光之锤,《命令与征服》的粒子炮

从高空召唤一道光柱轰击地面。实际上的逻辑是瞬间对目标点造成的单体或范围伤害,用【1】或者【4】都可以改出来,但由于理论上飞弹是从天而降的,因此不受【1】或者【4】的碰撞条件制约,可以跨越地形。从另一个角度考虑,这又是一种射线,但并不是从单位射出而是从天空中轰击地面的射线。

同理这个也可以改成由地面向天空发射的射线。

【21】型之所以特殊,是因为飞弹并非从发射者发出,而是直接在目标点产生一个效果——有些类似于《英雄联盟》死歌的Q。

以上就是全部的弹道学手册的内容了,受到启发了吗?很多飞弹的效果其实都是可以融合的,比如《暗黑破坏神3》的恶魔猎人集束箭,是一个【20】型的对地攻击飞弹命中后再发射一堆弹跳的【11】型抛物线对地攻击飞弹。总结一下,飞弹大概有以下几方面的属性,仅供参考:

运动起点:从发射者发射,还是从目标点发射(如【20】型飞弹就是从目标点直接发射的)?

运动方式:直线,追踪,抛物线,瞬间,还是其他更奇葩的运动规则?否会受到地形或其他障碍物的阻挡?

运动终点:某个指定的地点,还是某个特定的单位?

命中敌人:命中所有发生碰撞的单位,还是仅命中锁定为攻击目标单位,还是不会碰撞任何单位(比如很多塔防中以自身为中心进行范围伤害的塔)?

销毁规则:命中敌人,到达地点,生存时间,飞行速度,飞行距离,飞出屏幕?(可以是复选的哦!)


推荐阅读
  • 在学习网页爬虫时,使用Selenium进行自动化操作。初次安装selenium模块后,第二天运行代码时遇到了ImportError:无法从'selenium'导入名称'webdriver'。本文将详细解释该问题的原因及解决方案。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • 本文详细介绍了头条搜索引擎对网站内容的抓取、解析及索引过程,探讨了收录量与索引量的区别,并提供了实用工具和技巧来监控网站的收录情况。通过这些信息,网站管理员可以更好地理解搜索引擎的工作机制,优化网站内容以提高其在搜索结果中的可见性。 ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 本文介绍了一个基于 Java SpringMVC 和 SSM 框架的综合系统,涵盖了操作日志记录、文件管理、头像编辑、权限控制、以及多种技术集成如 Shiro、Redis 等,旨在提供一个高效且功能丰富的开发平台。 ... [详细]
  • 推荐几款高效测量图片像素的工具
    本文介绍了几款适用于Web前端开发的工具,这些工具可以帮助用户在图片上绘制线条并精确测量其像素长度。对于需要进行图像处理或设计工作的开发者来说非常实用。 ... [详细]
  • 本文介绍了Python编程中的字符串操作基础知识,包括字符串拼接、索引、子序列选择和查找。此外,还探讨了如何利用字符串处理技术从HTML代码中提取超链接信息,为简单的网页抓取打下基础。 ... [详细]
  • Python3 中使用 lxml 模块解析 XPath 数据详解
    XPath 是一种用于在 XML 文档中查找信息的路径语言,同样适用于 HTML 文件的搜索。本文将详细介绍如何利用 Python 的 lxml 模块通过 XPath 技术高效地解析和抓取网页数据。 ... [详细]
  • Java 中重写与重载的区别
    本文详细解析了 Java 编程语言中重写(Override)和重载(Overload)的概念及其主要区别,帮助开发者更好地理解和应用这两种多态性机制。 ... [详细]
  • MySQL Debug 模式的实现与应用
    本文详细介绍了如何启用和使用 MySQL 的调试模式,包括编译选项、环境变量配置以及调试信息的解析。通过实际案例展示了如何利用调试模式解决客户端无法连接服务器的问题。 ... [详细]
  • 在研究网络爬虫时,遇到了一个问题:抓取到的数据与浏览器中显示的不一致。通过JavaScript动态更新的内容无法直接获取。本文将探讨如何有效捕获这些动态变化的数据。 ... [详细]
  • 本文介绍了如何在Django项目中使用django-crontab库来设置和管理定时任务,包括安装、配置、编写定时任务以及常见问题的解决方案。通过具体实例,帮助开发者快速掌握在Django中实现自动化任务的方法。 ... [详细]
  • 本文介绍了如何利用Java中的URLConnection类来实现基本的网络爬虫功能,包括向目标网站发送请求、接收HTML响应、解析HTML以提取所需信息,并处理可能存在的递归爬取需求。 ... [详细]
  • 探讨HTML中的DIV样式难题
    本文深入分析了HTML中常见的DIV样式问题,并提供了有效的解决策略。适合所有对Web前端开发感兴趣的读者。 ... [详细]
  • PHP 中 preg_match 函数的 isU 修饰符详解
    本文详细解析 PHP 中 preg_match 函数中 isU 修饰符的具体含义及其应用场景,帮助开发者更好地理解和使用正则表达式。 ... [详细]
author-avatar
yubu5208_176
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有