学好数理化,游戏用得到!游戏里的物理知识

在游戏的世界中,除了看的见的美丽的人物角色、辉宏的游戏场景,炫酷的游戏特效之外。还有一些不被玩家重视的技术内涵,但是这些内涵,承托了游戏的真实性,也体现了游戏一定程度上的科学性。

今天要说的,就是在游戏中运用到的物理特性。

01 物理的用途

其实游戏世界就是对真实世界的再现。很多现实中有的我们可以照搬进游戏,在现实中很难做到的事儿,我们也可以在游戏世界中实现。这就给了我们很多可以遐想的空间。比如炫酷的二段跳、轻功、等等神奇的动作,都可以在游戏世界中帮你实现。

不过回归现实来说,符合现实物理定律的现象,最常见的就要数抛物线与碰撞了。比如射箭、投掷、发射都是基于现实的物理表现而进行仿真的。

所以,对于一个游戏设计者如果能够细心去观察现实生活中的物理现象并配合适当的想象与发散。就可以做出更有意思的或者更逼真的游戏玩法和体验。

今次,就以世界著名小游戏《愤怒的小鸟》为例,来聊聊抛物与碰撞的设计。

02 抛物与碰撞

所谓抛物:指的是物体受力后以一定速度抛射出去,在空中仅受重力(有时还会考虑阻力)作用的过程

在游戏世界中,子弹的发射、物体的投掷等行为,都为抛物。但是需要注意的是:

导弹、火箭炮的发射飞行并不能完全属于抛物的行为,因为会有一个尾部喷射的持续助力的过程,情况会相对复杂一些。

抛物之后,就必然会涉及到“碰撞”,所谓碰撞:指的是物体A以一定的速度和质量,在一定角度与具有一定速度和质量的物体B发生碰撞,从而产生二者运动状态的同时改变。

有很多小型游戏和球类游戏,就仅仅以这2个物理行为来进行设计,并获得玩家的喜爱。其中最著名的应该算是《愤怒的小鸟》了吧,纯粹就是属于一个简单的物理游戏,再搭配着具有鲜明特性的卡通形象,风靡全球。

虽然现在成熟的高级引擎注入Unity之流都具备了完善的物理编辑功能,只需要输入几个参数,就可以输出优秀的物理体验。但是身为一个游戏制作者,不能光知其然,不知其所以然。

之所以选择《愤怒的小鸟》来举例,是因为它完全由二维平面上构成的模拟与运算,所有复杂的问题全部被简化了,这样更好用来讲解入门。如果是3D游戏那么在计算抛物碰撞的时候,还需要考虑到前后左右的方向,以及碰撞时候的角度和面积产生的效果都是不相同的。对应的计算过程,也就会复杂得多了。

二维构图,其实仅仅需要将游戏界面分为X、Y轴即可。

整个《小鸟》游戏中,可以将之拆解为两个步骤:

1、抛物

2、碰撞

即:玩家通过调整小鸟弹出的方向、力度形成一个抛物线,撞击目标获得更高的分数过关的游戏。

抛物过程,其实就是玩家“蓄力弹射”的过程,从中我们可以拆解出3个变量:

1.弹射角度:α

2.弹射力度:F1(初始速度)

3.小鸟质量:M1

只要合理设计这3个变量,控制好它们之间互相影响的关系,那么就完成了抛物过程的设计了。

其中弹射角度和弹射力度通过滑动弹弓实现固定范围内的改变,不同关卡提供不同质量的小鸟来实现,有的大,有的小。

其中,“弹射角度”显而易见,控制一个弹射出去的飞行初始方向,角度设计一个合理的区间即可。但是需要注意的一点是:弹射的角度的选择区间,配合着不同初始速度,与目标的距离相关,所以在设计弹射的角度区间的时候,需要考虑设计放置目标的距离,来设计弹弓的弹射角度。

其中所谓“弹射力度”仅仅是展现给玩家的一个效果而已,游戏在此处的实际控制量应该是“初始速度”,也就是弹弓可拉伸的范围,表示小鸟获得初始速度值的范围区间,在《愤怒的小鸟》实际的处理结果中,并没有按照“范围”来处理,而是直接简化成一个值(也就是说,弹弓只有一个发射的弹力具体值)。游戏在处理的时候,要控制一点:质量越大的鸟,初始速度越小;质量越小的鸟,初始速度越大。这样处理的结果就能然玩家有一个感受:笨重的鸟,要想飞得远,那就需要将角度调节刚刚好,而瘦小的鸟只需要适度调节角度即可。达到了一个提高真实度的目的。

注:弹力为固定,初始速度的大小,与小鸟的质量有关

小鸟的质量,则可以通过不同大小的小鸟形象进行区分。在游戏中也可以看到,大块头的小鸟形象表示大质量的物体,瘦小的小鸟形象表示小质量的物体。并且他们的质量不同,大小也不同。

确定了上述的3个参数,则可以产生了抛物的过程。(接下来的计算过程中,会用到上面的三个参数)

完成弹射后,小鸟获得了3个属性:

初始角度α、初始速度V0、质量M1.

这三个属性决定了小鸟的另外几个属性:

1.飞行轨迹

2.碰撞时携带的动量

这两个属性决定了后面的碰撞过程,其中飞行轨迹决定了碰撞发生的位置(或者是否会产生碰撞),携带的动能决定了碰撞发生的具体效果。

弹射之后,小鸟就进入了抛物线的过程中,如下图所示:

全程只计算重力(如果增加新的玩法,比如恶劣天气刮风下雨,则需考虑空气阻力),则小鸟在水平方向做匀速运动,在垂直方向做匀变速运动。

由此可得:

水平方向位移 = V0*COSα*时间T

垂直方向位移 = V0*SINα*时间T-0.5*g*时间T^2

从而得出了小鸟的实际抛物线图像,通过VBA输入函数和数据计算,可绘制小鸟的抛物线图像。

输入三个主要参数:

我们可以通过Excel的 编程能力,使用VBA功能,根据上述三个主要参数,绘制一条抛物线,具体代码如下

随便输入上图的一组数据,产生的抛物线图像如下图:

抛物线的具体形状不重要,主要是根据抛物线的轨迹,我们可以定位到几个关键点:

1、飞行的最高点

2、降落的地点

根据这两个关键点的具体位置参数,我们可以通过不断调试数据,设计目标点的几个参数:

1、目标点距离起点的中心距离

2、目标点的高度和形状

可以通过对EXCEL图表固定XY轴的坐标值,在相同的坐标系下面调整不同的基础参数,可以得到同样游戏地图下面不同的抛物线轨迹,仅仅弹射角度不同时,随意数据如下图所示:

当然,也可以控制其他相同,质量不同来进行调试,也就是控制变量法。这样就可以清晰的根据我们的设计需求,获得所有参数的精准范围了。

通过调试数据(初始角度α范围、初始速度V0范围),可以详细地分析出应该选择什么样的角度范围,多大的初始速度,小鸟会在什么地方撞击到多大的目标的什么部位。这些数据都可以被量化并且直观地看出来了。

这样,一个基础的抛物物理计算模型就完成了。

完了这个基础的抛物过程,设计者还可以增加各种特殊的属性,增加游戏的玩法和乐趣,比如增加不同小鸟的技能:

1.加速鸟:可以在空中的某个地点进行一次加速,获得一次推力,可以飞的更远。在上述模型的基础下,这个加速的具体值也是很容易设计和计算出来的。

2.减速鸟:可以在空中的某个地点瞬间速度减少,减少飞行的距离。

3.爆炸鸟:在空中某个位置,小鸟的发生解体成N个小鸟,每个小鸟的质量都为M1/N。然后产生新的飞行效果。

碰撞过程:

当小鸟按照设计者的预期飞行范围落在目标处,则发生了碰撞,并且通过碰撞不同的物体产生不同的分数奖励,因此在这里的目标物体的放置设计,还与游戏积分和玩家成长关联在了一起(例如高分数的目标,不能放在轻易可以撞到的位置,需要认真设计)

在真实物理学中的碰撞过程中,主要有两个参数变化:

1、动能

2、动量

因为动能会有损耗,这个在现实世界中都是很复杂的变化,因此一般在这种体量的游戏中,不会去计算动能的转化过程,我们会根据物体的动量转化来分析和设计碰撞行为(动量守恒)。

基础公式(矢量公式):M1*V1+M2*V2=M1’*V1’+M2’*V2’

由公式可以看出来,我们要想在碰撞过程中尽量产生一种“真实”的游戏体验,那么不仅仅要设计小鸟的质量,我们对于每个目标物体,也是要设计对应的质量。在这种设计下,就会产生了这样的游戏感受:

1、玩家用很轻的鸟,可能撞不动很重的目标,用很重的鸟可以撞动很重的目标。

2、小鸟撞击物体后,根据不同目标质量,小鸟可能会反弹,也可能会继续前进。

上边这两个问题,说白了就是手感问题,做完抛物与碰撞后,我们需要调整【手感】;手感的提升可以获得更好的用户体验,让用户玩着不别扭,在游戏的世界中:“手感可能比真实更重要!”

以上就是本次关于游戏中物理知识应用的分享,其实还有很多经典的游戏运用到了物理知识。

比如【打砖块】

下一期会再讲述一下,关于游戏中【碰撞】的其他做法

往期回顾:

上班前,你要知道游戏的从0到1!

分发成本越来越高,整个游戏行业都变了

游戏关卡策划,如何养成?

玩了游戏,你知道游戏是怎么分类的吗?

这可能是你见过的最干的一篇游戏策划入门教学

如何成为游戏策划?新人先从认识它开始!

游戏策划入门(一) | 一款游戏需要什么?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351

推荐阅读更多精彩内容

  • 由于很多小伙伴要demo我就不一一发了,直接丢在github上自己下载吧:https://github.com/s...
    FKSky阅读 23,375评论 27 99
  • 长舌妇 把美好的不美好的 统统美丽表达 把愉悦的统筹传递 意义 这么重要的被忽略 指头的雀神雀跃
    亦柔阅读 320评论 0 0
  • 民事证据:在民事诉讼中能够证明案件事实的各种资料。不仅是当事人证明自己主张的证据材料,也是法院认定争议的案件事实、...
    xiuwu阅读 597评论 0 0
  • 在这个速食时代, 有爱情洁癖的人是不是注定单身, 因为性已经变成了一件不太严肃的事情, 确实门槛变低了, 过早迈入...
    cherish刺心阅读 917评论 0 0
  • NO.1 从小到大,只要是考试,我妈就非常的上心。 我妈和大多数农村妇女一样,自小贫困也没读过什么书。但是,我妈却...
    鹿大婶阅读 492评论 0 2