當前位置:首頁 » 游戲類別 » 游戲設置中的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