//没登陆

欢迎您来到凯恩之角,奈非天!

帖子:12544

符文:1615

跳转到指定楼层
1#
发表于 2021-12-3 16:20:25 |只看该作者 |倒序浏览 来自:四川
本帖最后由 kof758 于 2021-12-6 00:19 编辑

jinjinddn原帖出处已无处寻,存档保存;

第一部分:尺寸
1.1 人物和怪物的尺寸基础
1.2 尺寸带来的问题
1.3 问题衍生:穿刺问题和碰撞检测

第二部分: 攻击距离
2.1 攻击距离的基础

---------------------------------------

第一部分: 尺寸
1.1 人物和怪物的尺寸

如图所示:暗黑里面所有物体(道具怪物人物)等
可以统一归纳为3个尺寸:小 中 大
或者另外一种表达就是尺寸1 2 3
这个尺寸又包含了3个小尺寸: Collision Obstable 和 Target
Collision作用于碰撞监测 也就是决定了作战之间的物体碰撞 例如近战距离远了打不着 弓箭射偏了 暴风雪打歪了 都是通过这个数字决定
Obstable用来判断能不能被障碍阻碍(比如蝮蛇不能爬上高台就是因为这一点)
Target决定了人物的重心 永远只占重心一格

分别是size1、size2、size3的三种怪物
1.JPG

1.2 尺寸带来的问题
尺寸可以用来解释如下问题:
充能弹问题:这个大家估计都比较熟悉了 为什么这个是BOSS杀手 SIZE=1的怪物 只能吃一格充能弹 而SIZE=3的怪物如大部分BOSS 充能弹的范围刚好全部能在他的obsticle size范围里

size=2的怪物比较特殊 根据站位 能吃到50%-70%的充能弹
2.JPG

蝮蛇神殿问题:
神殿台阶size=2 但是obstable=1,
蝮蛇size=3 obstacle=5 所以 恩 大家都看到了 蝮蛇是怕不上去的。。
而很多狭窄的地区 比如遥远的绿洲的地洞,避难所,size3的怪物将会掉队,因为他们被卡住了

暴风雪问题
暴风雪的碎片size=2.碎片对于一个size=3的 怪物来说,如果站位得当(或者想劳模被卡住动来动去的)暴风雪最大可以打击3次,,而如果怪物靠的太近,那么作为size=2 单个碎片则可以一次命中多个目标。

1.3
问题衍生:穿刺问题和碰撞检测

传统上有一篇关于炮轰ND的计算 但是很遗憾的说 虽然那篇文章把ND的理论说得很清楚 但是计算是大错特错的 除了没有考虑到炮轰最大3F的问题。。怪物的SIZE也没考虑进去。

为什么 简单的说 比如巴尔的SIZE=3 在箭碰到巴尔的CollideSize的时侯 则命中检测 但是如果还在ND当中 则跳过这次检测 看起来很正常 有什么问题?
问题就在于箭穿过巴尔整个个CollideSize的时侯需要事件的 而当箭停留在巴尔体内还没穿过去 而ND的时效已经过了 这时候伤害判定依然还是会起作用
所以ND的判定并不像独立的ND理论上那么简单

---------------------------------------

第二部分: 攻击距离
2.1 攻击距离的基础

无论是怪物还是攻击距离都是由两部分构成: 尺寸+增加距离(SIZE+RANGE)
尺寸(SIZE)方面。怪物尺寸由上文的SIZE 决定 而玩家 PET 召唤物的SIZE都是2
增加距离方面(RANGE)玩家的增加距离由武器的距离决定 而怪物召唤物 PET的增加距离都是固定的 已经在TXT里写好 不可变

这里额外严重提出暗黑论坛普遍的距离概念和真正意义上距离的差别:
玩家的尺寸固定为2 也就是最中心的一个十字型 为玩家固有攻击距离。。而我们通常暗黑论坛一般默认了本身增益距离为1 多出来的那一格距离(臂长为多出那1距离 下图中人物中心的黑十字部分)
简单说来 实际上狂战斧的武器增益范围=2 但是我们默认了自身为1的臂长 所以我们所说的狂战士斧范围为3 而范围为1的武器 真正增益距离为0 那所谓的1就是我们玩家自己的臂长
见下图 我们传统意义上的距离需要-1就是图中的range距离

3.JPG

怪物的距离增益在TXT里面的MeleeRange一列已经规定好 大部分怪物都为0
包括可汗同学也是0 而米山同学的增益为2
也就是说 对于我们默认的距离说法 米山同学武器距离固定为3 而可汗固定为1
已有 1 人评分符文 收起 理由
③岁就满帅 + 5 感谢分享

总评分:  符文 + 5   查看全部评分

帖子:12544

符文:1615

2#
暴风雪半径是7,换算成码就是4.6
在7*7=49的范围内,暴风雪会下落25片,每片的size是2,也就是面积4,合计下雪面积100,也就是每块2次打击

size=2的怪物占地5,会吃到(5/49)*25=2.55(或者2次打击*5/4=2.5)

size=3的怪物占地9,会吃到(9/49)*25=4.59(或者2次打击*9/4=4.5)

或者每冰片面积应该是5,所以应该是命中3/5次
发表于 2021-12-3 16:29:46 |只看该作者 来自:四川

帖子:1556

符文:141

3#
所以当时炮轰最高就是3f?
发表于 2021-12-3 16:46:07 |只看该作者 来自:辽宁

帖子:12544

符文:1615

4#
食不言 发表于 2021-12-3 16:46
所以当时炮轰最高就是3f?

参考了下贴吧资料应该是的,涉及到nd,伪2f,碰撞体积有点复杂
3F炮轰就是53337循环,没有疑问。
2F炮轰理论上是应该42226循环,画面上确实是这样,但是每轮打完人物都有一个停顿才能开始下一轮炮轰。有大神测试过,测试的结果发现,服务器计算的2F是按照533353335333……7来循环的,也就是用下一轮的起手5F代替了上一轮的结束的7F,相比3F,伪2F提高的炮轰单体效率比较明显,打群体怪的效率提升不大。

同理,极限3F也是不存在的,伪3F其实是7344473444……10

伪2F仍然比3F好。虽然提升微弱,但在连续炮轰时,由于替换前一轮收尾帧的原因,攻速有实质上升

发表于 2022-5-18 14:38:44 |只看该作者 来自:四川

帖子:1556

符文:141

5#
本帖最后由 食不言 于 2022-5-18 15:00 编辑
kof758 发表于 2022-5-18 14:38
参考了下贴吧资料应该是的,涉及到nd,伪2f,碰撞体积有点复杂
3F炮轰就是53337循环,没有疑问。
2F炮 ...

根据我的测试,不是你说的这样。

举个例子,理论档位422226,一共6发18帧。

如果仅一次自由炮轰,则为433336。
(第一发的时间长度明显和533336时不同,证明了可以达到4)

如果连续炮轰,则前面的每个循环均为43333+2(2为无用帧)。
连起来就是433332433332……433336

即每个循环保持理论的18帧长度不变,到第19帧时被强制结束,从下一个循环的第一发4帧开始。
但中间帧只能最高3帧(弓),最后一发(乃至两发)需要根据实际情况来判断是否是有效攻击。
比如这里例子里,最后一发为2帧,达不到actionflag,则无动作,为无用帧。

而如果是8发42222226,共22帧,那么实际为4333333,最后一发可以发出。


总之,暗黑2里动作基本都是按照action flag那一帧是否达到来判断动作是否触发的。





发表于 2022-5-18 14:49:31 |只看该作者 来自:辽宁

帖子:1556

符文:141

6#
本帖最后由 食不言 于 2022-7-4 15:02 编辑

d3/forum/202112/03/162431rdgug2jui11nm153.jpg.thumb.jpg

关于攻击范围,有几个问题请教一下。
上面这个图,中间黑色部分为角色(size2)的站位
问题1:我看等风来了的帖子里说,游戏中玩家的人物模型的Size=2,即占据3*3(Sub Tile),到底哪个对?

问题2:下图中,size=3的怪物,碰撞为9是3*3的格子,还是大十字?障碍的5应该是小十字(跟size2的总大小一样)吧?

d3/forum/202102/20/191855iquo24002ee4z688.jpg.thumb.jpg

问题3:第一个图蓝色部分是指RangeAdder=1武器(比如幻化之刃)的攻击范围?
那么,怪物的collision部分的任意一格在这个范围内,就能够被击中,可以这么理解吧?

问题4:第一个图的计算过程实在搞不懂。举个例子,左下方的蓝色1块,紧挨着深绿色3,然后就是黄色5。
为什么相邻的格子,武器范围却能差距为2?

麻烦帮忙解惑一下。谢谢。

发表于 2022-7-4 15:01:33 |只看该作者 来自:辽宁
您需要登录后才可以回帖 登录 | 注册网易通行证