Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement

判定箱(Hitbox)定義方塊實體的物理「邊界」(或其近似值),用於計算碰撞和選取。

和方塊模型不同的是,所有的判定箱都是硬編碼的,不能透過數據包修改,只能透過Mod改變。

方塊

輪廓箱

輪廓箱(Outline Box)會在玩家看向指定方塊時顯示。當十字準心指向方塊時,會有黑框線描出該方塊的輪廓。

輪廓箱對於一個方塊並不是固定的,在不同的方塊狀態下可能具有不同的輪廓箱。例如上半半磚和下半半磚屬於同一種方塊,但具有不同的輪廓箱。液體不具有輪廓箱。

碰撞箱

碰撞箱(Collision Box)主要用於管理與實體間的碰撞。

並非所有方塊都具有碰撞箱。下列這些方塊沒有碰撞箱,實體可以自由穿過它們:

  • 熔岩(對於可以站立在對應液體上的生物,碰撞箱高度為12格)

具有碰撞箱的方塊其碰撞箱預設與輪廓箱形狀相同,但下列這些方塊碰撞箱與輪廓箱不同:

  • :碰撞箱寬度為316格,而非輪廓箱的616格或1016格。
  • 大懸葉草:只有上方的葉子部分有碰撞箱,下面的椗沒有碰撞箱。
  • 仙人掌:碰撞箱高度為1516格,而非輪廓箱的1格。
  • 堆肥桶:碰撞箱始終與0層堆肥的輪廓箱相同。
  • 欄杆:碰撞箱高度為1.5格,而非輪廓箱的1格。
  • 閘門:關閉時碰撞箱高度為1.5格,而非輪廓箱的1格。開啟時無碰撞箱。
  • 蜜糖塊:碰撞箱高度為1516格,寬度為1416格,而非輪廓箱的1格。
  • 講台:講台桌面的碰撞箱是一個長方體且不旋轉,而非輪廓箱那樣隨方塊方向旋轉而旋轉。
  • 移動中的活塞:碰撞箱與目前移動中的活塞移動程度有關。
  • 泥巴:碰撞箱高度為1416格,而非輪廓箱的1格。
  • 幼雪:對於超過2.5格下落高度的任何實體碰撞箱高度為0.9格,對於幼雪上方掉落的方塊和穿戴了皮革靴的生物碰撞箱為完整方塊,其他條件下沒有碰撞箱。
  • 竹棚:如果實體從上方向下落,並且竹棚具有底部,則碰撞箱只包含底部的16×2×16區域;如果實體向下落且竹棚不具有底部,則沒有碰撞箱。其他條件下與放置在地面上的竹棚輪廓箱相同。
  • 沉靈尖嘯器:碰撞箱高度為816格,而非輪廓箱的1格。
  • 積雪:碰撞箱高度比輪廓箱低18格,單層積雪無碰撞箱。
  • 靈魂砂:碰撞箱高度為1416格,而非輪廓箱的1格。
  • :碰撞箱高度為1.5格。
  • 牆上嘅懸掛式指示牌:只有上方的欄杆有碰撞箱。
常見碰撞箱不完整方塊高度列表
碰撞箱高度 方塊種類
小數形式 分數形式 像素形式
1.5 12 24 完全打開的界伏盒
欄杆石春牆
0.9375 1516 15 草徑耕地蜜糖塊
仙人掌
0.875 78 14 靈魂砂8層積雪
儲物箱終界箱陷阱箱釀造台頂部
0.8125 1316 13 終界之眼終界傳送門框
歌萊植株
0.75 34 12 附魔台7層積雪
可可豆植物、牆上嘅生物頭顱
0.625 58 10 6層積雪
漏斗內部、水平的終界燭
0.5625 916 9 切石機
0.5 12 8 底部的半磚5層積雪
地上的生物頭顱樓梯下半部分、蛋糕
0.375 38 6 日光感測器4層積雪
花盆
0.3125 516 5 內部
0.25 14 4 3層積雪
鐵砧底座
0.1875 316 3 底部的地板門
0.125 18 2 紅石中繼器紅石比較器2層積雪
釀造台底座
0.09375 332 112 荷葉
0.0625 116 1 單層積雪地氈

如果一個方塊的碰撞箱不能和一個與座標網格對齊的1×1×1的正方體完全重合,那麼無論碰撞箱大小如何,這個碰撞箱都被認為是不完整的,而這個方塊就是碰撞箱不完整方塊。絕大多數碰撞箱不完整的方塊都不是紅石導體,也不能使生物窒息。生物也不能自然生成在任何碰撞箱完整的方塊內部。

互動箱

Interaction box usage

上面:視線與鐵砧輪廓箱的某一個上表面碰撞,選擇方向為上方。下面:視線與堆肥桶輪廓箱的某一個水平表面碰撞,但由於堆肥桶有一個完整方塊大小的互動箱,且視線與互動箱上表面碰撞,所以最終選擇方向為上方。

互動箱(Interaction Box)用於處理選中方塊後的選擇方向。如果一個方塊可以被選中(由輪廓箱判定),並且視線與方塊的互動箱相交,那麼選擇方向不取決於輪廓箱與視線的碰撞面,而是取決於互動箱與視線的碰撞面。

絕大多數方塊的互動箱都不存在,選擇方向只取決於輪廓箱。只有下方這些方塊具有互動箱:

  • :鍋內的空間是互動箱。
  • 堆肥桶:堆肥桶的互動箱是整個方塊。
  • 漏斗:漏斗的互動箱與方塊狀態有關。當漏斗指向下方,互動箱為漏斗內部的空間;當漏斗指向某一個水平方向,互動箱位於對應漏斗方向上,覆蓋漏斗的指向部分。
  • 竹棚:竹棚的互動箱是整個方塊。

方塊支撐形狀

Block support shape of hopper

漏斗的支撐面(藍色正方體上的各個面)

方塊支撐形狀(Block Support Shape)主要用於判斷一個方塊表面是否可以附着另一個依附型方塊。

方塊支撐形狀預設與碰撞箱相同,但下列方塊不同:

  • 懸掛式指示牌:方塊支撐形狀與輪廓箱相同。
  • 閘門:打開時方塊支撐形狀不存在,關閉時為碰撞箱下方縮減516格。
  • 樹葉:方塊支撐形狀不存在。
  • 泥巴:方塊支撐形狀為完整的方塊。
  • 界伏盒:關閉時方塊支撐形狀為完整的方塊,開啟時方塊支撐形狀向對應方向拉伸。
  • 積雪:方塊支撐形狀與輪廓箱相同。
  • 靈魂砂:方塊支撐形狀為完整的方塊。

方塊支撐形狀和一個與座標網格對齊的1×1×1正方體的某個面重合的所有面的併集就是這個方塊在某個方向上的支撐面

  • 如果某個方向上的支撐面是一個1×1的正方形,則這個面完整
  • 如果某個方向上的中心18×18的正方形都屬於支撐面,則這個面中心完整
  • 如果某個方向上的寬度為18的邊緣都屬於支撐面,則這個面邊緣完整
  • 如果一個方塊的所有支撐面都完整,則這個方塊是方塊支撐形狀完整的方塊,簡稱完整方塊,否則為不完整方塊

例如漏斗的上表面是不完整的,因為上表面中間缺失了34×34的區域,同時它的上表面中心不完整,但邊緣完整,而漏斗這個方塊是不完整方塊。

依附型方塊判斷支撐面的類型來決定它們是否能依附於要依附方塊的某個面上。直立的火炬燈籠等方塊只能放置於上表面中心完整的方塊上;紅石比較器紅石中繼器路軌等方塊只能放置於上表面邊緣完整的方塊上;拉桿等方塊只能放置於上表面完整的方塊上。

絕大多數上表面不完整的方塊上方不能生成任何生物。

遮擋形狀

遮擋形狀(Occlusion Shape)主要用於計算亮度和方塊的某一面是否可見。

遮擋形狀預設與輪廓箱相同,但下列方塊不同:

  • 欄杆:欄杆的遮擋形狀比輪廓箱高度更低、寬度更小,並且下方是空的。
  • 閘門:閘門的遮擋形狀取決於它是否連接到了其它的欄杆或牆上。如果沒有連接,遮擋形狀會更高;如果連接了其它的欄杆或牆,那麼遮擋形狀也會相應降低。
  • 講台:講台的遮擋形狀只包含下面的底座和支柱,上面的桌面不屬於遮擋形狀。
  • 滴水石錐:滴水石錐沒有遮擋形狀。
  • 幼雪:幼雪沒有遮擋形狀。
  • 沉靈尖嘯器:沉靈尖嘯器的遮擋形狀與碰撞箱相同。
  • 生物頭顱:生物頭顱沒有遮擋形狀。

如果一個方塊的遮擋形狀不能和一個與座標網格對齊的1×1×1的正方體完全重合,那麼無論遮擋形狀大小如何,這個遮擋形狀都被認為是不完整的,而這個方塊就是遮擋形狀不完整方塊。所有可以遮擋光線且遮擋形狀完整的方塊都是完全固體繪製方塊

與方塊支撐形狀類似,遮擋形狀也有對應遮擋面的屬性。它主要用於剔除方塊多餘的繪製面。如果一個方塊的某個繪製面被另一個方塊的遮擋面完全遮擋,那麼這個繪製面就不會繪製。

視覺遮擋形狀

視覺遮擋形狀(Visual Shape)用於判斷視角能否透過方塊觀察到自身,確定第三人稱視角的最佳位置。

視覺遮擋形狀預設與碰撞箱相同,但下列這些方塊是例外:

  • 玻璃染色玻璃遮光玻璃:所有類型的玻璃都不存在視覺遮擋形狀。
  • 欄杆:欄杆的視覺遮擋形狀與輪廓箱相同。
  • 鐵欄杆:鐵欄杆沒有視覺遮擋形狀。
  • 泥巴:泥巴的視覺遮擋形狀是一個完整的方塊。
  • 幼雪:幼雪沒有視覺遮擋形狀。
  • 積雪:積雪的視覺遮擋形狀與輪廓箱相同。
  • 靈魂砂:靈魂砂的視覺遮擋形狀是一個完整的方塊。

實體

所有實體的判定箱都是以一個正方形為底的長方體,無視實體的實際形狀。比如,女巫的判定箱不包括頂部的帽,而凋零怪的判定箱不包括兩側的頭。終界龍除本體外還有8個身體構件,所以終界龍本質上是多個實體的組合,它的判定箱也由這些子實體組合而成。

邊界箱

Java版中,實體的邊界箱(Boundary Box)可以透過F3 + B除錯快捷方式查看。當玩家選中實體的邊界箱後才能與其互動。同時,實體的邊界箱也是它們的碰撞箱。

視平線

視平線(Eye Level)具有紅色的輪廓,且只會出現在實體的判定箱中。視平線負責判定窒息和溺水傷害,當一個生物的視平線處於窒息方塊或水中時,該生物就會受到窒息傷害或因耗盡氧氣而溺水。當視平線位於熔岩中時,熒幕也會產生不同的繪製效果。

歷史

方塊

碰撞箱

該段落需要補充更多資訊。
Java版
1.4.41.4.3現在有了自己的碰撞箱了,以前它的碰撞箱與欄杆是相同的。[1]
1.513w06a欄杆的碰撞箱已被變更,凹型的角落現在有了更貼近它們形狀的判定箱,而不是以前會產生隱形部分的凸型判定箱。
1.915w38a修復了大量有關於碰撞箱的錯誤。[2]
1.1317w47a的碰撞箱已被正確地做成凹形。[3]

輪廓與互動箱

Java版pre-Classic
rd-132211被選中的方塊現在會顯示明暗閃爍的視覺效果。
Java版Classic
0.0.13a被選中的方塊現在會顯示輪廓箱。
0.24_SURVIVAL_TEST明暗閃爍的判定箱被移除,只留下輪廓箱。
?某些方塊(花、蘑菇、火炬)的判定箱不再是完整的方塊,而是更貼近它們各自的大小。
Java版Infdev
Minecraft Infdev20100313在此版本以前,輪廓箱會隨着離世界原點越遠而越不精確。在所有受支援的硬體裝置中,輪廓箱的位置會不規律地微幅抖動,而某些顯示卡甚至會使輪廓箱呈現非長方體的扭曲形狀。
Java版
?樓梯的缺角不再能夠被十字準心選中,然而它的輪廓箱仍然是完整的方塊。
?某些隨機不對齊的方塊如長草叢,它們的判定箱現在也會跟着偏移以更完整地包含該方塊。
1.0.0Beta 1.9-pre2欄杆現在在xz平面上不再有完整一格方塊的判定箱,而是更貼近它們的視覺形狀。
1.112w01a閘門的判定箱也被變更,以更符合先前針對欄杆的變更。
1.513w06a修復了欄杆、閘門與牆在遠離世界原點時出現的判定箱扭曲問題。
1.915w38a蛋糕的輪廓箱現在永遠會出現在(0,0,0)的位置上,無論選中的蛋糕真正的位置在哪裏。這同時也造成了一個距離錯誤,詳見下方15w49a。
15w46a紅石線的判定箱現在只會根據線路的排列,而只覆蓋下方方塊的一部份。
15w49a在此版本以前,蛋糕與仙人掌的輪廓箱會在離世界原點極遠時變得異常拉伸與扭曲。
15w49b終界傳送門方塊的判定箱高度由原本的116格高改為34格高。
1.1116w35a蛋糕的判定箱再次顯示在正確的位置上了。[4]
1.1317w47a鐵砧漏斗的輪廓箱更符合其模型。
釀造台的中軸也計入判定箱。[5]
欄杆在直角方向的分支的輪廓箱現在是正確的L形、T形或十字形。[6]
仙人掌現在有一個正確的長方體輪廓箱。[7]
包含多個藤蔓的方塊輪廓箱最佳化。
玻璃片鐵欄杆在分支時有更明確的輪廓箱。
終界傳送門框的輪廓箱現在可以正確地囊括終界之眼。
活塞荷葉的輪廓箱已被變更。
的碰撞箱已被正確地做成凹形。[8]
1.1418w48a現在的輪廓箱更符合其視覺形狀。
19w13a的輪廓箱現在更符合模型,允許它下面的方塊被選取。[9]
1.1620w10a現在有一個輪廓箱(靈魂火亦如此),[10]使它更符合其他方塊。在此之前,火根本沒有輪廓箱,破壞它需要瞄準下面的方塊,這也允許它在創造模式時,不會被手持三叉戟的玩家破壞。這還阻止其方塊狀態在除錯熒幕中讀取或透過除錯棒修改。
20w18a紅石線的輪廓箱現在更接近其視覺形狀。例如,紅石線在不同方向上的分支會導致其輪廓箱自身在所述方向上分支,[11]對應了欄杆、玻璃片、鐵欄杆和牆的行為。並且,如果攀升至一個方塊的側面,紅石粉的垂直部分現在也可以被選取。[12]
1.1720w49a滴水石錐的輪廓箱整體寬度縮減了18格。

實體

邊界箱

Java版
1.4.41.4.3現在可以透過F3 + B來查看實體的判定箱,此時判定箱為白色不透明的,且無法與實際輪廓相符。
1.7.21.7.1在視覺上對實體判定箱做調整,以使其變得更符合直覺。

參見

參考

遊戲內容

Advertisement