原标题:射击游戏里的子弹是如何飞行的
晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI
从第一款FPS游戏《德军总部3D》出现以来,这种类型的游戏广受好评,创新的玩法也层出不穷,比如“吃鸡”。
△第一款FPS游戏《德军总部3D》
但是你知道游戏里的子弹是怎么飞行的吗?
早期,它和现实世界中的子弹完全不一样,很多玩家合理地利用了这个bug,比如CS里的甩狙。
随着PC运算能力的 提高,子弹的算法也在不断进步,弹道的效果越来越真实。
最近一位软件工程师Tristan Jung在游戏论坛上总结了FPS游戏的一些子弹轨迹算法。让我们一起来看看FPS游戏这二十多年来发生的变化。
挡住射线的都会死
早期的FPS游戏都采用一种“光线投射”(ray casting)的技术,用枪口发射出去的射线来确定子弹的轨迹。光线投射可以确定与光线相交的第一个对象。
在FPS里,这种算法叫做“命中扫描”(hitscan),当你扣下扳机时,物理引擎会计算下面几件事:
如果引擎发现你有物体挡住了子弹的路径,就是通知系统该物体被击中。
△方块挡在了子弹A射向B的路径,引擎告知方块已被击中
hitscan的核心很简单,至于物体被子弹击中后的下一步逻辑是什么,可以根据游戏要求定义:
1、如果允许子弹穿透,那么它将穿透路线上的所有物体;
2、消除最大的射线范围,就可以一直发射出激光,直到命中物体为止;
3、将某些表面设置为具有反射性,可以将子弹弹开。
使用hitscan算法,最大的好处是计算简单快速,不需要额外的内存或处理时间即可构建新的物理对象。这也意味着在多人游戏时,所需的网络资源也最少。
因此,行业中的许多游戏都将hitscan用作射击算法也就不足为奇了。
不仅《德军总部3D》和《毁灭战士》这些经典游戏采用,连近年来的一些热门游戏也是。比如《守望先锋》、《使命召唤》里的一些武器即是采用hitscan算法。
但是hitscan还是存在着一些缺陷。
首先,子弹的速度是无限的,比光速还快,瞬间到达被击中的物体。即使你离目标很远,只要你开枪的一瞬间,对手在准星上,就必死无疑。
△扣动扳机和目标上的火光同时出现,说明子弹是瞬间击中
其次,子弹的路径是直线,没有考虑风向、重力等因素,即使在 建模的时候把路径改成曲线,但是在子弹射出后也无法更改路径。
为了让射击游戏更真实,就需要使用另一种方法。
给子弹加上弹道
这个算法听起来很花哨,其实很简单。
武器射出的每颗子弹,都会在环境中创建一个新的物理对象,有着自己的质量、速度和引擎要计算的命中框。
由于每个弹丸都是独立存在的,因此可以考虑风力、摩擦、重力和温度等因素。任何作用在子弹上的力都会改变其方向。
而且在这种算法下,子弹不会瞬间移动,还可以实现以下功能:
1、在一些游戏中有“子弹时间”特效;
2、如果长距离狙击移动目标,需要提前目标的估计移动量;
3、实现榴弹等爆炸物的延迟爆炸。
但是在进行多人游戏时,服务器将需要做更多的计算,来确保所有对象都同步,并且必须解决不同客玩家之间的差异或冲突,以免在同一台服务器上给玩家带来不一致的体验。
一个方法是,在游戏时间之前加载对象的“池”,并在需要时“弯曲并启用”它们。一旦撞击到物体表面,就回收这个对象,将其保存以备后用。
这种方法将减少反复创建和销毁对象的计算和内存成本。
至于游戏时间的同步,存在着多种计算方法:
1、时间是与渲染分开计算,即使存在跳帧,游戏也能精确地表示对象。这种方法需要计算自上次渲染之后经过的确切时间。
2、计算每一帧的时间,将物理引擎绑定到帧速率。如果禁用帧速率上限,或开始丢帧,则会看到加速或卡顿的效果。
而且,这种算法在子弹速度足够快时,可能会遇到对象彼此“互穿”的情况,尽管它们在引擎中从未重叠。
混合系统
有没有办法结合了以上两种方法的优点呢?答案是有的。
最简单的办法就是不同武器使用不同的引擎。
大多数FPS游戏引擎可以处理两种类型的子弹模拟。这样就可以选择拥有各种各样的武器。《侠盗猎车手》和《半条命》等游戏都具有可以支持两种物理类型的武器。
比如《光环》中的突击步枪使用命中扫描引擎,而刺针枪使用子弹弹道模型。
游戏开发人员还可以混合使用两种技术来弥补每个系统的弱点,从而提供更加逼真的体验。
例如,要解决物体从弹道互穿的问题,可以在引擎的每个时刻上绘制子弹射线,查看射线是否会相交。
也可以混合两种算法以增强游戏的功能。
《狙击精英》系列就是一个很好的例子。扣动扳机后,引擎将使用hitscan来确定子弹是否足够靠近目标以触发慢动作。如果结果为true,引擎将在子弹时间内计算弹道。
作者系网易新闻·网易号“各有态度”签约作者
— 完—
如何关注、学习、用好人工智能?
每个工作日,量子位AI内参精选全球科技和研究最新动态,汇总新技术、新产品和新应用,梳理当日最热行业趋势和政策,搜索有价值的论文、教程、研究等。
了解AI发展现状,抓住行业发展机遇
AI社群 | 与优秀的人交流
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
喜欢就点「在看」吧 ! 游戏网
相关下载 |
和平精英中,AWM是很实用的武器,那么游戏中AWM用什么子弹,下面一起来看看吧。.300马格南子弹:.300马格南子弹在《和平精英》中与AWM一同出现在空投补给箱中。AWM是游戏中伤害最高详情>>
逃离塔科夫M61子弹获取方法 发布时间:2020-04-29 10:05 来源:bilibili 作者:ArTHur_Meister 详情>>
【234游戏攻略】逃离塔科夫如何换子弹?很多玩家对逃离塔科夫换子弹方法不是很了解,本文为大家带来逃离塔科夫换子弹方法分享,一起来看看详情>>
导 读 玩家在游戏中按R就可以换弹了。 逃离塔科夫玩家可以按住R键来换枪的弹夹。在游戏中玩家按R键,就可以换弹夹了,也可以连续按R两次就可以实现快速换弹,但是快速换弹会将用详情>>
导 读 生化危机3重制版六发霰弹枪子弹怎么获得?六发霰弹枪子弹获取途径是什么?还不清楚的小伙伴看过来,这里九游九游网小编为大家带来《生化危机3重制版》六发霰弹枪子弹获取详情>>
作者: 奥尔加 2020-04-22 17:32 整理 去武器店买,买枪的时候可以顺便把子弹买详情>>
逃离塔科夫子弹选择指南 发布时间:2020-04-21 16:40 来源:小黑盒 作者:mozzie说你车没了 详情>>
逃离塔科夫全类型子弹伤害怎么样?想来很多朋友都还不是很清楚吧,所以呢小编今天给大家带来的就是逃离塔科夫全子弹伤害数据说明,需要的朋友不妨进来看看。 逃离塔科夫全详情>>
导 读 《生化危机3重制版》武器子弹代码有哪些呢?很多玩家们都想知道,感兴趣的话就一起来看看VR之家小编整理的《生化危机3重制版》全武器子弹代码介绍,希望大家能够喜欢。 生详情>>
导 读 【九游攻略】生化危机3重制版如何修改武器子弹代码?很多玩家对生化危机3重制版修改武器子弹代码不是很了解,本文为大家带来生化危机3重制版修改武器子弹代码一览,一起来详情>>
逃离塔科夫什么子弹好,游戏中玩家们选用不同的子弹时造成的伤害也是截然不同,那么什么子弹好呢,相信还有些小伙伴不知道。下面就让我们一起来看看吧!逃离塔科夫什么子弹好按照详情>>
《使命召唤战区》子弹不够怎么解决 子弹不够解决方法分享 作者:互联网来源:九游发表时间:2020-04-14详情>>
作者: 宁 2020-04-14 17:25 整理 在侠盗猎车手5中,玩家可以使用~键盘使用控制台详情>>
  逃离塔科夫Hunter是一个子弹并不富裕的选择,所以在子弹选择上,很需要高性价比。一起来看下“60043356”是怎么选择的吧。   子弹选择 详情>>
生化危机3重制版武器子弹代码有哪些?想来很多朋友都还不是很清楚吧,所以呢小编今天给大家带来的就是生化危机3重制版全武器子弹代码一览,需要的朋友不妨进来看看。 生化详情>>
极乐迪斯科子弹如何获得?在游戏中玩家需要在奇幻都市中破解一宗谜团重重的案件,本次小编带来了极乐迪斯科子弹获得方法介绍,想要了解的玩家不妨进来看看。 极乐迪斯科子详情>>
逃离塔科夫护甲怎么选?游戏中一些萌新玩家对健康度和子弹等伤害原理不是很了解,这里给大家带来了逃离塔科夫子弹选择与护甲原理介绍,感兴趣的玩家一起来看下吧。 逃离塔详情>>
导 读 子弹反弹是玩家在《元气骑士》中可以获得的一个BUFF,效果是玩家射出去的子弹碰到墙壁会进行一次弹射,下边就给大家带来“小鑫nlkm”分享的元气骑士子弹反弹效果详解,大详情>>
原创文章全网维权禁止抄袭 随着科技的不断发达,武器也越发的先进,自从火药研发出来以后,热武器就成了战场的主角,取代了冷兵器,而各种不同作战功能详情>>
游戏类型:动作射击STG 更新时间:2020-1-17 游戏发行:Shade 子弹少女幻想是一款设置在剑与魔法异世界背景下的美少女无双乱舞TPS游戏。游侠网分详情>>
《Retimed》是一款由Team Maniax开发,WhisperGames发行的益智休闲类游戏。该作自公布后便受到许多玩家关注。 在《Retimed》中玩家可以控制自己详情>>
原标题:益智休闲游戏《Retimed》有特点 一起子弹时间吧 《Retimed》是一款由Team Maniax开发,WhisperGames发行的益智休闲类游戏。该作自公布后便受详情>>
《Retimed》是一款由Team Maniax开发,WhisperGames发行的益智休闲类游戏。该作自公布后便受到许多玩家关注。 在《Retimed》中玩家可以控制自己周围区域的时间流动,详情>>
【导读】福利游戏《子弹少女:幻想》于2018年8月登陆了PS4和PSV平台,而现在其Steam版页面及预告片也已经上线,游戏预计于2020年初正式发售,目前尚未开启预购。--> 详情>>
曾经一款射击游戏《枪神(Stranglehold)》于2007年发售,该作是由周润发为主角形象制作的。从07年直到今天才重新登陆GOG,于是喜欢念旧或者想要体验吴宇森详情>>
原标题:数据是没有方向的子弹,只有“人”懂得瞄准 文|李北辰 毋庸置疑的是,2019年中国资本市场最大的一件事,就是中小型创新企业能够在科创板上市。 详情>>
原标题:1.6秒能否打出14发子弹?500万粉“吃鸡”主播状告质疑者 近年来,随着网络直播行业的兴起,越来越多的人或成主播或看直播,尤其是类似《绝地求生》详情>>
原标题:“吃鸡”里m416缺伤害,awm缺子弹,它啥都不缺,却被玩家遗忘! 大家好这里是小番茄游戏,每天给大家带来最新的吃鸡资讯和最新的吃鸡套路,在手游和平详情>>
原标题:“吃鸡”里m416缺伤害,awm缺子弹,它啥都不缺,却被玩家遗忘! 大家好这里是小番茄游戏,每天给大家带来最新的吃鸡资讯和最新的吃鸡套路,在手游和详情>>
《和平精英》作为当前最火爆的吃鸡手游受到很多玩家的欢迎,在游戏中有很多bug,有些没多久就修复了有些可以利用bug影响战局。很多玩家不清楚和平精英手游详情>>
原标题:部队过河时候。枪和子弹不怕水吗?长知识了 最近几年只要是战争题材类的电影或者是电视剧都会大火,在这个和平年代,这些题材的影视剧也是让详情>>
原标题:玩家甚至可以在《控制》中“控制”桌子为自己挡子弹 相信大家或多或少都会在游戏中遇到一些Bug,有些恶性Bug让玩家深恶痛绝,但是也有些有趣的详情>>
逃跑吧少年怎么档子弹?逃跑吧少年怎么花式档子弹?逃跑吧少年花式档子弹解析!操作方法:和追捕对枪时对追捕使用一只狗,让他挡子弹并且补刀,然后躲在狗的后面我们带着火箭筒疯狂输出详情>>
子弹是玩家在《纽扣兄弟》多人对战中可以获得的一件道具,子弹是射程最远的武器,不过速度不快,需要一些预判,下边就大家带来纽扣兄弟子弹的一些使用技巧,大家可以来看一看。 子弹详情>>
没子弹的枪是《传说之下》中的一种武器,这种武器虽然伤害不高,但是介绍很有意思,而且有着一些奇妙的梗在里边,下边就给大家带来传说之下没子弹的枪属性介绍,大家可以来看一看。 详情>>
期待已久的手游子弹飞一会即将登陆,这款手机游戏吸引了大批玩家的关注,有很多粉丝都在问小编子弹飞一会好玩吗?子弹飞一会值不值得玩?现在就为大家来简单分析下,看看这款游戏的玩详情>>
《赤痕夜之仪式》中有很多隐藏要素,玩家通过收集这些隐藏要素可以带来很大的提升。请看下面的《赤痕夜之仪式》HP、MP与子弹容量提升道具详情>>
期待已久的手游子弹计划即将登陆,这款手机游戏吸引了大批玩家的关注,有很多粉丝都在问小编子弹计划好玩吗?子弹计划值不值得玩?现在就为大家来简单分析下,看看这款游戏的玩法特点详情>>
《赤痕夜之仪式》的一些装备需要玩家收集到其相应的配方后才能合成,为了方便大家收集,请看下面由“枫叶琉璃糖”带来的《赤痕夜之仪式》所详情>>