看板 OverWatch 關於我們 聯絡資訊
原文:https://goo.gl/XShMQx 此篇報導講解攔路豬的勾子命中計算的背後機制 一直以來相信大家都對於攔路豬的勾子命中機制頗有怨言 像是躲在豬視線外牆角落、或是從勾子上方跳/瞬移過去(源氏、閃光)等 都會被奇妙的異次元勾鉤中 原本網路上的猜測是可能是因為網路延遲或是hitscan*的運算命中機制而導致 (註:勾子像條瞬間發出的光線,按下去在直線路徑上的角色就算被鉤) 然而Blizzard公開回應攔路豬勾子判斷機制如下: 基本上就是在勾子尖端放顆命中判斷的球體 直線投射出去,只要在球體內範圍即是命中範圍, 所以才會有像是原文影片裡面那種隔牆勾人或是跳過勾子上方也會被鉤的狀況發生 所以以後對面有攔路豬的時候、記得躲牆角要離得遠一點 不然即使不在勾子鉤中的直線範圍內還是有可能會被命中的 所以根本就不是勾子,是一顆棘鐵球啊... 但這篇沒有解釋為什麼有時候源氏開反彈還會被勾的情況 可能猜想鉤子的圓球範圍碰到源氏可反彈範圍的外側觸發鉤中的判斷 但源氏的正面反彈範圍真的不是想像中的大 reddit測試反彈範圍文與影片:https://goo.gl/5bYPIZ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.110.57.143 ※ 文章網址: https://www.ptt.cc/bbs/OverWatch/M.1475809681.A.DBE.html
cody880528: 因為判定命中範圍的球體沒有經過場景牆壁的cliping運 10/07 11:19
cody880528: 算 10/07 11:19
cody880528: 這寫在哪裡啊 沒看到@@ 10/07 11:19
那句原本是我個人看文章後的推導,回頭看了一下好像對翻譯文章有點失準 我把它刪掉好了
CryMasK: 我遇過看著鉤子從我旁邊穿過 想說躲過了 下一秒突然被勾 10/07 11:21
CryMasK: 中 鉤子的動畫像是突然瞬移一樣 不知道是不是這原因 10/07 11:21
因為在球體範圍中所以他會先讓鉤中的角色瞬移到勾子判定鉤中的位置 再拉回來,所以才會有瞬移狀況發生吧
CryMasK: 鉤子從旁邊穿過 —> 命中動畫(瞬移到正中央) 10/07 11:23
DarkArbiter: 事實上就是現在的勾太唬爛了 所以大家被勾到很賭爛 10/07 11:27
sweep1357: 拿訓練機器人測過鉤子命中範圍大概是小圓形準心大小 10/07 11:28
sweep1357: 這意思是即使躲牆後但如果在小圓形範圍內也會被勾? 10/07 11:30
沒錯
wiork: 應該是吧,躲牆後稍微在鐵鉤球範圍就算命中拉過去 10/07 11:35
TsaiMoshia: 鉤子不是瞬間到。 10/07 11:35
那個註釋是解釋大家之前以為是hitscan的註解 blizzard解釋的就像是一顆看不見的磁鐵鐵球丟出去,途中經過的範圍有角色就會被鉤
cody880528: 那這樣不是勾的問題吧 其他東西也都能隔牆射到阿 10/07 11:38
cody880528: 單純hitbox大而已吧 10/07 11:38
hitbox是指每個角色模組身上的攻擊範圍, 勾子的命中範圍不會改變角色模組的hitbox大小 hitbox大 = 因為要判別鉤中/不鉤中所以每個角色都有專門給鉤子判斷的大hitbox 他的命中機制不是這樣設計的
moonlind: 原來是陳可漢 10/07 11:38
剛好都是犯罪者XD
cody880528: 所以這篇就會是 因為判定命中是球體 導致會被隔牆勾 10/07 11:56
cody880528: 感覺不太合理吧 10/07 11:56
cody880528: *就會 -> 結論 10/07 11:57
畫張圖解釋好了 http://imgur.com/a/q6J28 (比例隨便畫的不要當真) 橘色半透明範圍就是在勾子尖端的命中範圍,只要在範圍內的角色就會被判定為被鉤 當豬對牆角射出勾子勾子抵達牆角時時,站在牆背面的角色沒在鉤子的直線上 但是因為勾子的命中判斷是以尖端為圓心的一個範圍, 所以即使站在牆角後的角色也會被鉤, 所以這就回到我原本推測沒有對地圖做的cliping的那句話, 如果要在牆角後面的角色不被鉤中,就要對牆壁的延伸面做出cliping(黑色框) 這樣命中圓球就不會超出牆角範圍
david8234: 就跟萊茵隨緣撞一樣吧 明明閃開還是被吸過去撞= = 10/07 12:00
doomleika: 被吸過去是lag 10/07 12:00
我個人是懷疑萊茵撞也是這種機制... 基本上出現的狀況蠻像的(被判定命中角色就會瞬移到角色面前)
cody880528: 那如果你的推論是對的 我直接朝牆壁射 也可以勾到人 10/07 12:23
cody880528: ? 10/07 12:24
可能要實驗一下,但個人認為不會 因為兩者不一樣 直接朝牆壁射勾子中牆的時候命中範圍球體和牆壁界線有直接相交 所以應該會做cliping (不做就太蠢了) 球體與直線的cliping計算方式蠻簡單的 超過直線以上(例如x=0,y=0以上的判定不考慮) 但勾牆角的時候因為勾子沒有跟牆壁範圍有直接的接觸命中,不會對牆壁做cliping 所以現在的現況就是沒對牆壁延伸線做cliping才會出現打中牆角後的角色的狀況 ^ : <-命中球體沒有跟牆壁直角的"延伸線"做cliping 角色: --------------- wall | c --------------- / / /
qscgg: 簡單的說就是丟鉤子的時候會瞬間出現一支棒棒糖,有碰到棒 10/07 12:37
qscgg: 棒糖的都算被勾到,你往牆角丟一樣可以勾牆後的 10/07 12:38
cody880528: 嘿啊 但是如果棒棒糖的頭可以穿牆 那應該不限牆角 你 10/07 12:41
cody880528: 在牆後哪裡都可以勾過來阿 10/07 12:41
chalon: 不能穿牆啊 誰跟你說可以 10/07 12:43
chalon: 圖都那麼清楚了 10/07 12:43
iamnotgm: 那下次花村a點跳洽洽我不就一直對牆邊盲勾用力勾機會多 10/07 12:45
cody880528: 我自己覺得的解釋是 10/07 12:52
cody880528: 1 所有投射物都是射球出來 10/07 12:52
cody880528: 2 豬的勾子是投射物 10/07 12:52
cody880528: 3 角色hitbox本來就會超出牆角 (事實) 10/07 12:52
cody880528: 4 勾子的球射到hitbox 判定拉到 把別人拖過來 10/07 12:52
cody880528: 就跟半藏可以射到牆後面的意思一樣 10/07 12:52
shinelusnake: 所以其實鉤子不是立即判定 而是看鉤子頭有沒有碰到 10/07 12:57
shinelusnake: 咯? 10/07 12:57
cody880528: 我是覺得如果照原PO說的加個判定就解決的話 10/07 13:01
cody880528: BZ應該老早就修好了 10/07 13:01
你的理解跟我講的一樣啊XD (除了hitbox超出牆角這部分) 我講解cliping的情況其實很簡化,遊戲裡面有許多不規則的物體/障礙物 要即時運算球體穿過環境障礙物邊界的延長線再去做判斷其實頗難
sedc: 勾的球體本身應該有做個檢查是球體圓心和目標是否直接可視, 10/07 13:07
sedc: 是的話就視為勾到。但沒有計算豬本身和目標物是否直接可視 10/07 13:07
sedc: 所以會形成「勾看得到你,但豬看不到你」而仍然被勾的情況 10/07 13:09
我也覺得這樣比較好,比起對環境做cliping 對可視範圍做cliping比較合理
Nevar: 其實沒遇過刀舉起來還被勾走的情況欸 10/07 13:29
我朋友有遇到幾次,shadder實況也有遇到幾次過
OverRaven: 其實不是鉤子 是能暈人+黏人的鐵球 10/07 13:57
※ 編輯: han960691 (27.110.57.143), 10/07/2016 14:15:52 ※ 編輯: han960691 (27.110.57.143), 10/07/2016 14:17:04
dxzy: 原來招架的範圍大得這麼誇張難怪彈回來這麼猛 一堆打偏都彈 10/07 14:20
dxzy: 停玩OW一段時間後回來覺得超過極限距離結果還是被勾中 10/07 14:21
dxzy: 但訓練場測試一樣還是20米多一點(大概只有我QQ) 10/07 14:22
frozensummer: 最近常碰到勾到閃光被回朔吃掉 這是什麼情況 10/07 14:31
frozensummer: 如果是PING差異 12PING應該不會有這種事情發生 10/07 14:31
justsay: 那個是tick問題 不過不是改60了嗎 10/07 14:33
dxzy: 關於這個喔 即使tick調高了 對面的網路也會改變世界的真理 10/07 14:40
dxzy: 我上次碰到一隻豬(在NG半夜我猜是外國玩家)小美冰箱被拉破打 10/07 14:41
dxzy: 還不是一次是三次 我提早半秒冰箱他鉤子過來就破了被拉過去 10/07 14:41
dxzy: 不信邪的下場就是整場被拉著打 只差機制改過否則牆檔都會被| 10/07 14:45
Chikei: server狀態運算tick一直都是60,別再說啥改60了..... 10/07 15:26
Chikei: 所謂的20改60是server送更新給client的速率,server運算之 10/07 15:27
Chikei: 前就有人驗證是60 10/07 15:27
frozensummer: 之前沒這種問題 某次更新後常常勾到被回朔 被影襲 10/07 15:33
frozensummer: 現在感覺三個法拉杯距離拉大了 要先預判多一點 10/07 15:36
frozensummer: 不然就是要等對手用完招才比較穩 10/07 15:36
intotherain: 所以勾子其實是AOE啊... 10/07 16:26
dxzy: 範圍不算大算不上AOE吧... 10/07 16:43
jaannddyy: 所有東西都是aoe 數學上的點並不存在,即使要用數學描 10/07 19:10
jaannddyy: 述真的點,也是用dxdydz去做 10/07 19:10
dxzy: you are right 10/07 19:18
a8500249: 還有死神無敵小美冰箱進cd還被勾的情況也沒解釋 10/07 22:43
dxzy: 但很少耶 我有時故意給別的豬勾都擋得住 10/07 22:48
dxzy: 結果今天打rank碰到冰箱被....好像法拉打爆 總之不是技能 10/08 09:50
dxzy: 但是深夜對方像外國人 我覺得這是tick的鍋啦 死BUG 10/08 09:50