当前位置:首页 » 游戏类别 » 游戏设置中的fpa是什么意思

游戏设置中的fpa是什么意思

发布时间: 2022-12-17 20:35:41

1. 暗黑破坏神雇佣兵的攻击频率计算方法

一直以来pet的攻速表都存在一定的问题,未能真实的反映出pet的攻击情况。
这里将对以往的PET攻速表做出更新并简单的介绍下攻速计算的原理。

首先简单的讲一下原理,众LR若对此没兴趣,便直接跳过看结果吧。

在diabloii中时间的最小单位是帧(frame),即1/25秒,每秒25也就是暗黑的最高刷新率了。
通常情况完成一个动作所需的帧数计算如下:

FPA={HitShift*(FramePerDirection) /[(BaseRate+SI)*AnimationSpeed/100]}-1

[]表示向下取整,{}表示向上取整。
FPA=Frames Per Attack,每次攻击动作所需帧数。
HitShift为Extra Precision,攻击精度参数,HitShift=256。
FramePerDirection即在一个方向上一个动作的基础帧数,通常在别的公式中也写做(base+1)。随武器类型及动作类型取值于Animdata.D2。
BaseRate基础速率,取决于动作类型,绝大多数攻击BaseRate=100。格档和打击回复为50。
SI=Speed Increase,速度增量。SI=EIAS-WSM+SkillIAS-FreezeChillSlow
EIAS=Effective IAS=[120*IAS/(120+IAS)],[]表示向下取整。
WSM=Weapon Speed Modifier,武器基础速度。
SkillIAS=技能提速,例如fana。
FreezeChillSlow,减速效果,暂不考虑。
BaseRate+SI最大值为175(所以攻击速度有上限),最小值为BaseRate*15%(暂不考虑)。
AnimationSpeed动作速度,随武器类型及动作类型取值于Animdata.D2。
最后结果-1是因为,暗黑不显示上一个动作的最后一帧,而是显示下个动作的第一帧。

上面谈到的是完成一个动作所需的帧数,也就是攻击速度。那么具体的攻击动作发生在哪一帧呢?公式如下:

ActionFrame={HitShift*(FrameDataActionFlag) /[(BaseRate+SI)*AnimationSpeed/100]}

FrameDataActionFlag,动作帧数标志。随武器类型取值于Animdata.D2。
其他同上。

至于更深层次的游戏帧数的运作原理,可以参考Louis-J 的动作帧数—Dtalon详解。
如果英文够好,也可上AB和PK看看Char animation的讨论,非常之精彩。老外在对.dll文件的剖析上确实很强。

回到正题,我们来计算PET的攻击速度。

CODE:

ACT1-Rogue Scout

1.普通攻击
调用Animdata.D2中的RGA1HTH.
FramePerDirection=15
AnimationSpeed=256
FrameDataActionFlag=6

FPA={256*15/[(100+SI)/100*256]}-1
ActionFrame={256*6/[(100+SI)/100*256]}

计算结果如下:
SI frames ActionFrame
-20 18 8
-16 17 8
-14 17 7
-11 16 7
-6 15 7
0 14 6
8 13 6
16 12 6
21 12 5
25 11 5
41 10 5
50 9 4
67 8 4

没有技能提速及减速效果下,具体细化到武器基础速度:

WSM=10
IAS frames ActionFrame
0 16 7
5 15 7
11 14 6
22 13 6
34 12 6
42 12 5
50 11 5
78 10 5
120 9 4
215 8 4

WSM=5
IAS frames ActionFrame
0 15 7
6 14 6
15 13 6
26 12 6
34 12 5
40 11 5
65 10 5
102 9 4
180 8 4

WSM=0
IAS frames ActionFrame
0 14 6
9 13 6
19 12 6
26 12 5
32 11 5
54 10 5
86 9 4
152 8 4

WSM=-10
IAS frames ActionFrame
0 13 6
7 12 6
13 12 5
18 11 5
35 10 5
60 9 4
109 8 4

2.Cold Arrow/Fire Arrow 冰箭/火箭
也是调用Animdata.D2中的RGA1HTH,即攻速同普通攻击。

3.Inner Sight 技能内视
也是调用Animdata.D2中的RGA1HTH.
所以Inner Sight内视的施法速度与FCR无关,与IAS等有关,完全等同普通攻击速度。

ACT2-Desert Mercenary Guard

1.普通攻击
调用Animdata.D2中的GUA1HTH.
FramePerDirection=16
AnimationSpeed=256
FrameDataActionFlag=11

FPA={256*16/[(100+SI)/100*256]}-1
ActionFrame={256*11/[(100+SI)/100*256]}

计算结果如下:
SI frames ActionFrame
-20 20 14
-19 19 14
-15 18 13
-10 17 13
-8 17 12
-5 16 12
0 15 11
8 14 11
11 14 10
15 13 10
23 13 9
24 12 9
34 11 9
38 11 8
46 10 8
58 10 7
61 9 7

没有技能提速及减速效果下,具体细化到武器基础速度:

WSM=20
IAS frames ActionFrame
0 20 14
2 19 14
6 18 13
11 17 13
14 17 12
18 16 12
24 15 11
37 14 11
42 14 10
50 13 10
68 13 9
70 12 9
95 12 8
99 11 8
147 10 8
223 10 7
250 9 7

WSM=10
IAS frames ActionFrame
0 17 13
3 17 12
6 16 12
11 15 11
22 14 11
26 14 10
32 13 10
46 13 9
48 12 9
70 11 9
80 11 8
105 10 8
157 10 7
174 9 7

WSM=0
IAS frames ActionFrame
0 15 11
9 14 11
13 14 10
18 13 10
29 13 9
30 12 9
48 11 9
56 11 8
75 10 8
113 10 7
125 9 7

WSM=-10
IAS frames ActionFrame
0 14 11
2 14 10
6 13 10
15 13 9
16 12 9
30 11 9
37 11 8
52 10 8
52 10 7
89 9 7

WSM=-20
IAS frames ActionFrame
0 13 10
4 13 9
5 12 9
16 11 9
22 11 8
34 10 8
56 10 7
63 9 7

2.Jab攻击
调用MonSeq.txt中的seq_act2guardjab,属于Sequences攻击。
Sequences攻击速度的计算方法略有不同。

FPA={HitShift*(FrameOfSequence) /[(BaseRate+SI)*AnimationSpeed/100]}

注意唯一不同的是Sequences的最后一帧是显示的,所以没有-1。

FrameOfSequence=14(Sequences中的总帧数)
AnimationSpeed=256
FrameDataActionFlag=5,9(整个动作攻击2次,分别在第5,9帧,所以ACT2PET有5.5帧的说法,其实是11帧中攻击2次)

FPA={256*14/[(100+SI)/100*256]}
ActionFrame={256*5/[(100+SI)/100*256]}
ActionFrame={256*9/[(100+SI)/100*256]}

计算结果如下:
SI frames ActionFrame
-20 18 8,13
-17 17 8,13
-16 17 8,12
-14 17 7,12
-12 16 7,12
-8 16 7,11
-6 15 7,11
0 14 6,10
8 13 6,10
12 13 6,9
17 12 6,9
21 12 5,9
25 12 5,8
28 11 5,8
41 10 5,8
43 10 5,7
50 10 4,7
56 9 4,7
67 9 4,6
75 8 4,6

没有技能提速及减速效果下,具体细化到武器基础速度:

WSM=20
IAS frames ActionFrame
0 18 8,13
4 17 8,13
5 17 8,12
7 17 7,12
9 16 7,12
14 16 7,11
16 15 7,11
24 14 6,10
37 13 6,10
44 13 6,9
54 12 6,9
63 12 5,9
72 12 5,8
80 11 5,8
125 10 5,8
133 10 5,7
168 10 4,7
208 9 4,7
317 9 4,6
456 8 4,6

WSM=10
IAS frames ActionFrame
0 16 7,12
3 16 7,11
5 15 7,11
11 14 6,10
22 13 6,10
27 13 6,9
35 12 6,9
42 12 5,9
50 12 5,8
56 11 5,8
89 10 5,8
95 10 5,7
120 10 4,7
147 9 4,7
215 9 4,6
292 8 4,6

WSM=0
IAS frames ActionFrame
0 14 6,10
9 13 6,10
14 13 6,9
20 12 6,9
26 12 5,9
32 12 5,8
37 11 5,8
63 10 5,8
68 10 5,7
86 10 4,7
105 9 4,7
152 9 4,6
200 8 4,6

WSM=-10
IAS frames ActionFrame
0 13 6,10
3 13 6,9
8 12 6,9
13 12 5,9
18 12 5,8
22 11 5,8
42 10 5,8
46 10 5,7
60 10 4,7
75 9 4,7
109 9 4,6
142 8 4,6

WSM=-20
IAS frames ActionFrame
0 12 6,9
2 12 5,9
6 12 5,8
9 11 5,8
26 10 5,8
29 10 5,7
40 10 4,7
52 9 4,7
78 9 4,6
102 8 4,6

ACT3-Eastern Sorceror Iron Wolf

1.普通攻击(基本上没有普通攻击)
调用Animdata.D2中的IWA11HS.
FramePerDirection=15
AnimationSpeed=256
FrameDataActionFlag=6

FPA={256*15/[(100+SI)/100*256]}-1
ActionFrame={256*6/[(100+SI)/100*256]}

参数同ACT1mm普通攻击,WSM=10,0,-10参考ACT1mm普通攻击

WSM=20
IAS frames ActionFrame
0 18 8
5 17 8
7 17 7
10 16 7
16 15 7
24 14 6
37 13 6
52 12 6
63 12 5
72 11 5
109 10 5
168 9 4

WSM=-20
IAS frames ActionFrame
0 12 6
2 12 5
6 11 5
20 10 5
40 9 4
78 8 4

WSM=-30
IAS frames ActionFrame
0 11 5
8 10 5
24 9 4
54 8 4

2.法术攻击
调用Animdata.D2中的IWSC1HS.
FramePerDirection=18
AnimationSpeed=256
FrameDataActionFlag=7

FPC={256*18/[(100+EFCR)/100*256]}-1

计算结果如下:
FCR frames ActionFrame
0 17 7
8 16 7
15 15 7
20 15 6
26 14 6
39 13 6
58 12 6
63 12 5
86 11 5
138 10 5
200 10 4

ACT-5 Barbarian

1.普通攻击
调用Animdata.D2中的0AA12HS.
FramePerDirection=15
AnimationSpeed=256
FrameDataActionFlag=5,12(一个动作攻击2次)

FPA={256*15/[(100+SI)/100*256]}-1
ActionFrame={256*5/[(100+SI)/100*256]}
ActionFrame={256*12/[(100+SI)/100*256]}

计算结果如下:
SI frames ActionFrame
-20 20
-19 19
-15 18
-10 17
-5 16
0 15
8 14
15 13
24 12
34 11
46 10
61 9

没有技能提速及减速效果下,具体细化到武器基础速度:

WSM=20
IAS frames ActionFrame
0 20
2 19
6 18
11 17
18 16
24 15
37 14
50 13
70 12
99 11
147 10
250 9

WSM=10
IAS frames ActionFrame
0 17
6 16
11 15
22 14
32 13
48 12
70 11
105 10
174 9

WSM=5
IAS frames ActionFrame
0 16
6 15
15 14
24 13
39 12
58 11
89 10
147 9

WSM=0
IAS frames ActionFrame
0 15
9 14
18 13
30 12
48 11
75 10
125 9

WSM=-5
IAS frames ActionFrame
0 15
4 14
11 13
23 12
39 11
63 10
105 9

WSM=-10
IAS frames ActionFrame
0 14
6 13
16 12
30 11
52 10
89 9

WSM=-15
IAS frames ActionFrame
0 13
10 12
23 11
42 10
75 9

WSM=-20
IAS frames ActionFrame
0 13
5 12
16 11
34 10
63 9

WSM=-30
IAS frames ActionFrame
0 12
5 11
19 10
42 9

2.Bash/Stun攻击
调用Animdata.D2中的0AA22HS.
FramePerDirection=15
AnimationSpeed=256
FrameDataActionFlag=6,12

参考普通攻击。

[Copy to clipboard]

最后由于PET属于MONSTER(怪),所以还要受AI的影响,所有PET的AIDELAY为1帧,所以最后结果还要+1。
原国外的pet攻速表除act2 jab外,都是正确的。

最后更新:

实际的测试确实有点困难,PET攻击时除了aidelay外还会有莫名的delay,而且没有规律,不知具体原因,所以很难测准。
根据我的测试(以SI=0为例,以下同)
ACT2 PET的普通攻击为16~17帧,可以感觉到理论上16帧应该是正确的,但实际上更接近17帧,甚至18。反正由于莫名的delay,16帧是肯定达不到的。
ACT2 PET的JAB攻击为15~16帧,实际上放大样本量的话,结果更接近17帧。从感觉上理论值更接近15帧。
但是这样是没有说服力的,于是我把两者放在一个屏幕进行比较,这个结果比较容易让人信服,结果如下:
如果按照国外的说法,两者都是16帧,速度应该是一样的。
但是只要你细心一点不难发觉:两个分别用JAB和普通攻击的PET,JAB是要快一点的。
结论:普通16帧,JAB15帧应该是ACT2 PET正确的理论攻击速度。但实际攻击速度要慢1到2帧。

最后,综合ACT2 PET的攻击特点,大致的会有15%~20%的普通攻击机率。
所以实际的综合攻击速度是不太好定义的,大致按照我的JAB攻速表的最后结果再+2帧左右。

参考资料:http://cache..com/c?word=%B0%B5%BA%DA%2C%B9%CD%D3%B6%3B%B1%F8%2C%CB%D9%C2%CA%3B%BC%C6%CB%E3&url=http%3A//www%2Evwill%2Ecn/game/bbs/simple/index%2Ephp%3Ft96455%2Ehtml&p=&user=

2. 坦克世界fpa是什么意思

游戏运行时每秒所运行的帧数(简称FPS,Frames Per Second) 和视频一样,FPS越大,在屏幕上的视频就越来越平滑,直到一个临界点(大约是100FPS),超过这个临界点,再高的FPS都只是一个令人惊奇的数值,400FPS和100FPS在人的视觉中几乎没有差别。

热点内容
绝地求生未来之役比赛为什么进不去 发布:2023-08-31 22:07:08 浏览:1456
dota2位置什么意思 发布:2023-08-31 22:00:04 浏览:896
lol电竞是什么样子 发布:2023-08-31 21:58:40 浏览:1357
绝地求生八倍镜的那个圆圈怎么弄 发布:2023-08-31 21:58:31 浏览:1445
lol龙龟一个多少金币 发布:2023-08-31 21:55:07 浏览:805
王者如何改游戏内名称 发布:2023-08-31 21:55:06 浏览:1090
游戏主播打广告是什么意思 发布:2023-08-31 21:55:06 浏览:1788
绝地求生如何免费拿到ss7赛季手册 发布:2023-08-31 21:52:13 浏览:973
pgg是哪个国家的战队lol 发布:2023-08-31 21:52:07 浏览:855
一个人的时候才发现游戏很没意思 发布:2023-08-31 21:49:24 浏览:1490