幀數
動作的拆分
遊戲內的「攻擊」或者「動作」是由多個部分組成。
動畫
每一個動作,都有對應的動畫,而這個動畫在內部會以60幀的速度運行(當然,會轉換為你的目標幀數,這個是上一節提過的)。
所以每一個動畫其實都有一個「幀數」去對應一個動作的耗時。(但找出每個動作耗費多少幀是海量的工作,不會有肝帝找的,因為還有更有價值的東西去找)
無敵
而在這個動畫檔案裡面,同時包含了「是否無敵」,「無敵哪一幀結束」的訊息。
以及「哪一幀開始有攻擊判定」,「哪一幀結束攻擊判定」等訊息。
而迴避動作也類似,會給出哪些動作有多少幀無敵(從第一幀開始算)。
如下:
而一個動作裡面其實會拆分為多個小動作。比如GP其實是被拆成一個小動作並在第一幀開始有無敵幀。
值得一提的是太刀的居合跟GP是不一樣的機制,因為GP會免疫後續攻擊但居合不會、同時居合與GP都不屬於迴避並不會吃回性。而且居合見切更有著額外的判定(叮),這個放下一節談。
霸體
順帶一提強霸體0.5倍減傷,鐵衣0.3倍減傷(更痛),大小霸體都免疫眩暈。
霸體應該是按時間進行而非幀數。因為他可以橫跨多個動作(比如居合接燈籠的2秒強霸體)。
動作的加速、減速、停頓:
動作的幀數是可以被「延遲」或者「加速」的,比如太刀紅刃居轉登就是加速了,而大部分武器每一刀砍下去都有一個以毫秒為單位的停頓時間,也就是卡頓時間。
特殊判定
所以我們從上面可以知道,霸體是時間單位,無敵是幀數單位(綁定動畫幀),但動作中還有一些東西是額外判定的。
其中,我隻研究了太刀的部分(其他武器我就咕咕咕了,看得頭昏眼花一知半解)
比如見切、居合的判定,他們的原理是這樣的
:原地生成一顆「子彈」,定義子彈存在的時間與體積,如果怪物碰撞到這個子彈,則判定成功。
(GP應該也是類似機制,但我沒找到檔案,放棄了)
按照我找到的資料,是這樣的:
無敵幀/等價時間 | 判定時間 | 判定成功後的霸體時間 | 回性 | |
小居合 | 5f / 0.083s | 0.08s | 2秒 | 不吃 |
大居合 | 12f / 0.2s | 0.2s | 2秒 | 不吃 |
見切 | 45f / 0.75s | 0.6s | 1秒 | 吃 |
無氣見切 | 13f / 0.216s | 不存在 | 不存在 | 吃 |
太刀這個判定就是能不能「叮」的判定。比如你可以看到見切的無敵幀是比判定時間長的,所以是存在不吃傷但也沒有叮的可能性。
而既然無敵跟判定是分開的,那麼有個問題就來了,他們之間是否「同步」。
而在高幀數或者幀數不穩定的情況下,判定與無敵是有可能失去同步的,也就是無敵並不能完全覆蓋判定的部分。
同時,太刀這三個動作的霸體需要在「叮」了之後才開始生效,也就是說如果你的判定叮了卻沒有無敵(失去同步),你就會被打飛(b站應該有些這類叮了被打飛的bug影片)
再者,一些特殊按鍵是會有延遲的,這個我稱呼為「組合鍵最小等待延遲」。
比如你太刀見切要按兩個鍵,但兩個鍵是不可能完全同時按出來的。所以就會有一個短暫的等待延遲給你一個時間窗口輸入另一個攻擊指令。
但問題是太刀的居合雖然只有2個選擇(大、小居合),但由於是R2鍵(見切、登龍、特殊納刀的組合鍵),所以依然會有一個等待窗口。與迴避按下就生效的效果不一樣,所以看到一些高玩能感受到居合有延遲就是這個原因
(雖然如果你放慢可以看到居合確實是動作第一幀開始就有無敵,但問題是這個動作距離你按下與作出動畫動作開始會有一個組合鍵等待輸入窗口)
攻擊判定
有些攻擊是會有一個額外的「參數」。用於辨別他是否產生「多段傷害」。比如最典型的貫通就屬於「多段傷害」,但散彈就不是。同時在「多段傷害」的後面還有一個參數就是多段傷害的幀間隔。比如貫通的間隔是3幀。
而具體表現就是在攻擊判定生效的期間,兩者判定體積碰撞的時間內,以固定的幀間隔為頻率發生多段攻擊。比如太刀、大劍的軟化攻擊也屬於這類。而當然幀數如第一部分所言會影響結果。比如你在訓練場拿咩刀軟化貨車,有時候是9hit,有時候是8hit(ps4 pro),這就是幀數不穩定帶來的結果不穩定。同理貫通彈如果你幀數很低,你很大可能會比高幀數玩家產生更少的hit數。
太刀登龍機制
來源:NGA
作者:dtlnor