新闻资讯 一手资讯 新游前瞻 游戏测评 游戏攻略 娱乐八卦 硬件周边 H5新闻 产业新闻
Z 您现在的位置:首页 > 怪物弹珠 > 正文

《怪物弹珠》【心得】弹珠敌人模组反射机制研究(图多)

2021-10-16 11:51:30来源:巴哈姆特发布:佚名

abc13717421 (IanKuo) #1 2021-09-08 02:37:03
首先,所谓 “轮廓” 指的是敌人模组的外形,
或说详细点,是指敌人会造成碰撞判定的範围。
轮廓的形状是一个相当完整的圆形(不考虑弱点)。
那为甚幺会有乱反射呢?
这幺说好了,我们先来看“碰撞”的过程会发生什幺事:
首先,反射弹珠接触到敌人轮廓时会发生碰撞判定,
然后内部机制(以下称之为 反射机制)根据入射位置及入射角计算出反射角。
以上两件事中,轮廓归轮廓,反射机制归反射机制。
一定程度上来说,反射并不由轮廓引起,而是反射机制。
而且,弹珠也没有把反射机制用圆形设计。

说到这,“反射机制”是如何运作就是本篇要讨论的主题。
而以下提到的理论是个人经 及假设所得,
基本上很难以确认是否与弹珠实际的机制吻合。

1. 反射方式

反射基本上能分为三种:
水 射、垂直反射以及切线反射。

水平/垂直反射为将碰撞点视为水平/垂直面计算反射角。
切线反射则是依圆形的轮廓于该点的切线视为平面计算反射角。





切线反射为现实中正常的球体碰撞反射角度计算方式。
然而但在弹珠中,许多的反射(非预期反射)是由切线反射造成的。

2. 反射方式判断条件

上面讲了三种反射方式,其会计算出三种不同的角度。
接下来就要探讨反射机制是如何决定要用哪个角度来作为反射角。
我的研究方式为:利用导引线在角度连续的改变下,
观察反射角是否发生不连续的变化(转换反射方式),发生时就记录下来,
并待数据足够时加以推理。以下是推理出的条件:

(一) 水平/垂直反射角中,射入模组的角度不列入考量

如果有些几何概念的人,应该能知道水平及垂直面反射所算出来的方射角会相差180°(即:在同一条直线上,但指向相反的方向)。
而若此角度不与轮廓该点的切线角度平行,则必定会有一端指向模组内部。
而该角度理所当然不能被採用。

(示例1:下图中水 射角(蓝色箭头)指向模组内部)

(示例2:下图中水平/垂直反射角与该点切线接 行,在角度细微变化下可以观察到两种反射方式的切换,图片经重叠处理)

但此判定有例外,即:角度指向模组内部,但仍被机制选定。
我认为这是机制的漏洞,以下称此现象为“缺陷角”。
出现缺陷角的状况为:导引线指向敌人后就截止。此表示其反射后发生的下一次碰撞位置也几乎在该点。
(示例1:缺陷角图片)

(示例2:缺陷角实例影片,可观察出第一下打在风扇上被判定出2 hits)

(示例3:缺陷角实例影片,可观察出第一下打在锁链怪上被判定出2 hits)

(二) 特定範围内的入射角度,优先採用水平/垂直反射角。

在此所提的特定角度範围,部分人称之为“轮廓缺陷角”,
而一般的说法是:“在此角度下弹珠不易发生乱反弹”。

(示例:下2张图中可发现在细微角度变化下,当角度进入垂直/水平优先範围时,反射机制进行转换)

(三) 排除前二个条件之水平/垂直反射角,若与切线反射角之夹角大于90°,则採用切线反射角。

最複杂的一点(但是是我最早假设的),此假设的主要原因为:
当反射角发生不连续变化(转换反射方式)时,
常常会发现这两个角度间的夹角相当接近于90°,
故猜测90°为水平/垂直反射角与切线反射角转换的条件。
而此条件优先度低于第(二)点。

(示例1:下图中垂直反射角(红色)指向模组内部,先排除。其入射角(绿色)不在特定优先範围内,但水 射角(蓝色)切线反射角( )之夹角小于90°,故採水 射角(蓝色)。)

(示例2:下图中垂直反射角(红色)指向模组内部,先排除。其入射角(绿色)不在特定优先範围内,并水 射角(蓝色)切线反射角( )之夹角大于90°,故採切线反射角( ))


(示例3:在细微角度变化下发生反射方式转换,而其夹角非常接近于90°)

3. 实例

以下提供一实例,对一段连续变化的角度及其反射角进行分析。

区段一:其入射角于垂直反射优先範围,故採垂直反射角。


区段二:入射角超出垂直反射优先範围,水 射角指向模组内部,垂直反射角与切线反射角之夹角大于90°,故採切线反射角。


区段三:入射角不处优先範围,水 射角指向模组内部,垂直反射角与切线反射角之夹角小于90°,故採垂直反射角。


区段四:发生缺陷角。


区段五:入射角不处优先範围,垂直反射角指向模组内部,水 射角与切线反射角之夹角大于90°,故採切线反射角。


区段六:其入射角于水 射优先範围,故採水 射角。

实例影片:

4.补充

最前面所讲的 “轮廓的形状是一个相当完整的圆形” 可能会有人怀疑,
所以我在那有补充 “不考虑弱点”,而我选剪刀来 也是因为这关大多敌人没弱点,
因为弱点有他自己的模组,也是相当完整的小圆形,
且弱点模组不论其当时是否显现,都会存在在它的位置。
而这幺个小圆形崁在大圆形上,就会使其表面变得凹凸不平滑,
它们增加了一些可以卡点的区段,但也增加了许多容易造成乱反弹(切线反射)的区域。

5.结论

这些都是我的假设,然后在经过许多 觉得大致符合后才发布的。
而我也知道则篇文章绝对不是反射机制的全貌,但我暂时也不想去试了。
(像是就算射出角度于优先角度(轮廓缺陷角)内还是会发生乱反弹,这点本文无法解释,
而我用导引线也还没找到过这样的情况)
如果有人发现不符合实际的地方,或想出更完整的机制,还请不吝指教。

说这幺多,这有助于游戏技巧吗? 我觉得:没有

看较旧的 52 则留言

你的嘘声是我的掌声: 09-08 22:34

[asus3358yu:Vivy女王快踩我(≧ω≦)] 搞不好教授也在 这次超究极怎幺那幺

JASON88: 09-09 14:09

虽然整篇对游戏进行可能没有帮助,但是感觉很专业,而且GP收穫很高,包含我这一枚!

兔头: 09-09 17:03

先给个GP免得别人以为我看不懂

Hale19890630 (霍尔) #2 2021-09-08 15:18:08

此文章已由原作者(Hale19890630)删除

jordan1996tw (海螺) #3 2021-09-08 17:03:09


依据楼主理论,我认为可以找出于模组上发生切线反射的方位。

因此假设,当入射角为a时因应水 射的路径为红线,而产生切线反射则为蓝线,以此作图找出切线L。

由切线L垂直延伸至模组中心(圆心),其方位角90-a-b即是目标之关键方位。

接下来为简单计算
b=(180-90-2a)/2=45-a
90-a-b=90-a-45+a=45

因此得证,当入射点超过模组之45° 135° 225° 315°方位点(简单来说就是模组中心画个X),便可能发生切线反射。

以楼主图来验证,示例3之4张小图符合此规则,但是实例部分的图却不符合,若模组为正圆,不可能在如此位置发生2次切线反射,因此断定模组非正圆。

结论:因为模组非正圆所以以上都没用⋯⋯

p.s.可以理解为当瞄準点在超过X关键切线点上时,要小心出现乱反射

看较旧的 2 则留言

IanKuo: 09-08 20:02

刚刚试了下,在一些特定情况下是有可能发生不连续的2次切线反射

海螺: 09-08 20:06

[abc13717421:IanKuo] 没错,就距离够远或模组够小时可以撞到2个切线点

ka!: 09-09 03:05

工具很酷

s041139 (灵武) #4 2021-09-10 01:26:02
我还一直以为敌人模组是偏向圆角正方形
☆魔法马铃薯★: 09-10 15:05

导引线滑一滑就知道边边不是直的了

TAG: 模组   反射   敌人
最新礼包

Copyright © 2017-2018 www.thisisdb.com All rights reserved DB游戏网 版权所有

备案号:蜀ICP备15007551号-2 DB游戏网

DB游戏网手机版