Minecraft Wiki

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

了解更多

Minecraft Wiki
Advertisement
Dark Oak Sapling
此条目仍需完善。

你可以帮助我们扩充关于该主题的更多信息。

判定箱(Hitbox)定义方块实体的物理“边界”(或其近似值),用于计算碰撞和选取。

和方块模型不同的是,所有的判定箱都是硬编码的,不能通过数据包修改,只能通过Mod改变。

方块

轮廓箱

轮廓箱(Outline Box)会在玩家看向指定方块时显示。当十字准星指向方块时,会有黑框线描出该方块的轮廓。

轮廓箱对于一个方块并不是固定的,在不同的方块状态下可能具有不同的轮廓箱。例如上半台阶和下半台阶属于同一种方块,但具有不同的轮廓箱。

碰撞箱

碰撞箱(Collision Box)用于管理与实体间的碰撞。

并非所有方块都具有碰撞箱。下列这些方块没有碰撞箱,实体可以自由穿过它们:

具有碰撞箱的方块其碰撞箱默认与轮廓箱形状相同,但下列这些方块碰撞箱与轮廓箱不同:

  • 竹子:碰撞箱宽度为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×1×1的正方体完全重合,那么无论碰撞箱大小如何,这个碰撞箱都被认为是不完整的,而这个方块就是碰撞箱不完整方块。绝大多数碰撞箱不完整的方块都不是红石导体,也不能使生物窒息。生物也不能自然生成在任何碰撞箱完整的方块内部。

互动箱

Interaction box usage

上面:视线与铁砧轮廓箱的某一个上表面碰撞,选择方向为上方。下面:视线与堆肥桶轮廓箱的某一个水平表面碰撞,但由于堆肥桶有一个完整方块大小的互动箱,且视线与互动箱上表面碰撞,所以最终选择方向为上方。

互动箱(Interaction Box)用于处理选中方块后的选择方向。如果一个方块可以被选中(由轮廓箱判定),并且视线与方块的交互箱相交,那么选择方向不取决于轮廓箱与视线的碰撞面,而是取决于互动箱与视线的碰撞面。

绝大多数方块的互动箱都不存在,选择方向只取决于轮廓箱。只有下方这些方块具有互动箱:

  • 炼药锅:炼药锅内的空间是互动箱。
  • 堆肥桶:堆肥桶的互动箱是整个方块。
  • 漏斗:漏斗的互动箱与方块状态有关。当漏斗指向下方,互动箱为漏斗内部的空间;当漏斗指向某一个水平方向,互动箱位于对应漏斗方向上,覆盖漏斗的指向部分。
  • 脚手架:脚手架的互动箱是整个方块。

方块支撑形状

方块支撑形状(Block Support Shape)主要用于判断一个方块表面是否可以附着另一个依附型方块。

方块支撑形状默认与碰撞箱相同,但下列方块不同:

  • 悬挂式告示牌:方块支撑形状与轮廓箱相同。
  • 栅栏门:打开时方块支撑形状不存在,关闭时为碰撞箱下方缩减516格。
  • 树叶:方块支撑形状不存在。
  • 泥巴:方块支撑形状为完整的方块。
  • 潜影盒:关闭时方块支撑形状为完整的方块,开启时方块支撑形状向对应方向拉伸。
  • :方块支撑形状与轮廓箱相同。
  • 灵魂沙:方块支撑形状为完整的方块。

方块支撑形状和一个与坐标网格对齐的1×1×1正方体的某个面重合的所有面的并集就是这个方块在某个方向上的支撑面

  • 如果某个方向上的支撑面是一个1×1的正方形,则这个面完整
  • 如果某个方向上的中心18×18的正方形都属于支撑面,则这个面中心完整
  • 如果某个方向上的宽度为18的边缘都属于支撑面,则这个面边缘完整
  • 如果一个方块的所有支撑面都完整,则这个方块是方块支撑形状完整的方块,简称完整方块,否则为不完整方块

例如漏斗的上表面是不完整的,因为上表面中间缺失了34×34的区域,同时它的上表面中心不完整,但边缘完整,而漏斗这个方块是不完整方块。

依附型方块判断支撑面的类型来决定它们是否能依附于要依附方块的某个面上。直立的火把灯笼等方块只能放置于上表面中心完整的方块上;红石比较器红石中继器铁轨等方块只能放置于上表面边缘完整的方块上;拉杆等方块只能放置于上表面完整的方块上。

绝大多数上表面不完整的方块上方不能生成任何生物。

遮挡形状

遮挡形状(Occlusion Shape)主要用于计算亮度和方块的某一面是否可见。

大多数方块并不以遮挡形状作为亮度计算的参数,没有碰撞箱的方块不会遮挡光线,一些具有碰撞箱的方块也不会阻挡光线。遮挡形状默认与轮廓箱相同,但下列方块不同:

  • 栅栏:栅栏的遮挡形状比轮廓箱高度更低、宽度更小,并且下方是空的。
  • 栅栏门:栅栏门的遮挡形状取决于它是否连接到了其它的栅栏或墙上。如果没有连接,遮挡形状会更高;如果连接了其它的栅栏或墙,那么遮挡形状也会相应降低。
  • 讲台:讲台的遮挡形状只包含下面的底座和支柱,上面的桌面不属于遮挡形状。
  • 滴水石锥:滴水石锥没有遮挡形状。
  • 细雪:细雪没有遮挡形状。
  • 幽匿尖啸体:幽匿尖啸体的遮挡形状与碰撞箱相同。
  • 生物头颅:生物头颅没有遮挡形状。

视觉遮挡形状

视觉遮挡形状(Visual Shape)用于判断视角能否透过方块观察到自身,确定第三人称视角的最佳位置。

视觉遮挡形状默认与碰撞箱相同,但下列这些方块是例外:

  • 玻璃染色玻璃遮光玻璃:所有类型的玻璃都不存在视觉遮挡形状。
  • 栅栏:栅栏的视觉遮挡形状与轮廓箱相同。
  • 铁栏杆:铁栏杆没有视觉遮挡形状。
  • 泥巴:泥巴的视觉遮挡形状是一个完整的方块。
  • 细雪:细雪没有视觉遮挡形状。
  • :雪的视觉遮挡形状与轮廓箱相同。
  • 灵魂沙:灵魂沙的视觉遮挡形状是一个完整的方块。

实体

所有实体的判定箱都是以一个正方形为底的长方体,无视实体的实际形状。比如,女巫的判定箱不包括顶部的帽子,而凋灵的判定箱不包括两侧的头。末影龙除本体外还有8个身体构件,所以末影龙本质上是多个实体的组合,它的判定箱也由这些子实体组合而成。

边界箱

Java版中,实体的边界箱(Boundary Box)可以通过F3 + B调试快捷方式查看。当玩家选中实体的边界箱后才能与其交互。同时,实体的边界箱也是它们的碰撞箱。

视平线

视平线(Eye Level)具有红色的轮廓,且只会出现在实体的判定箱中。视平线负责判定窒息和溺水伤害,当一个生物的视平线处于窒息方块或水中时,该生物就会受到窒息伤害或因耗尽氧气而溺水。当视平线位于熔岩中时,屏幕也会产生不同的渲染效果。

历史

方块

该段落需要补充更多信息。

所需信息:20w49a中关于滴水石锥的更改

碰撞箱

该段落需要补充更多信息。

所需信息:MC-1635MC-73302MC-1720

Java版pre-Classic
rd-132211被选中的方块现在会显示明暗闪烁的视觉效果。
Java版Classic
0.0.13a被选中的方块现在会显示轮廓箱。
0.24_SURVIVAL_TEST明暗闪烁的判定箱被移除,只留下轮廓箱。
Java版
1.0.0Beta 1.9-pre2栅栏现在在xz平面上不再有完整一格方块的判定箱,而是更贴近它们的视觉形状。
1.112w01a栅栏门的判定箱也被更改,以更符合先前针对栅栏的更改。
1.4.41.4.3现在有了自己的碰撞箱了,以前它的碰撞箱与栅栏是相同的。[1]
上述的更改也修复了栅栏、栅栏门与墙在远离世界原点时出现的判定箱扭曲问题。
1.513w06a栅栏的碰撞箱已被更改,凹型的角落现在有了更贴近它们形状的判定箱,而不是以前会产生隐形部分的凸型判定箱。
上述的更改也修复了栅栏、栅栏门与墙在远离世界原点时出现的判定箱扭曲问题。
1.1317w47a酿造台的中轴也计入判定箱。[2]
的碰撞箱已被正确地做成凹形。[3]
1.1419w13a炼药锅的轮廓箱更符合模型,允许它下面的方块被选取。[4]

轮廓与互动箱

Java版pre-Classic
rd-132211被选中的方块现在会显示明暗闪烁的视觉效果。
Java版Classic
0.0.13a被选中的方块现在会显示轮廓箱。
0.24_SURVIVAL_TEST明暗闪烁的判定箱被移除,只留下轮廓箱。
?某些方块(花、蘑菇、火把)的判定箱不再是完整的方块,而是更贴近它们各自的大小。
Java版Infdev
Minecraft Infdev20100313在此版本以前,轮廓箱会随着离世界原点越远而越不精确。在所有受支持的硬体设备中,轮廓箱的位置会不规律地微幅抖动,而某些显示卡甚至会使轮廓箱呈现非长方体的扭曲形状。
Java版
?楼梯的缺角不再能够被十字准星选中,然而它的轮廓箱仍然是完整的方块。
?某些随机不对齐的方块如高草丛,它们的判定箱现在也会跟着偏移以更完整地包含该方块。
1.915w38a蛋糕的轮廓箱现在永远会出现在(0,0,0)的位置上,无论选中的蛋糕真正的位置在哪里。这同时也造成了一个距离漏洞,详见下方15w49a。
15w46a红石线的判定箱现在只会根据线路的排列,而只覆盖下方方块的一部份。
15w49a在此版本以前,蛋糕与仙人掌的轮廓箱会在离世界原点极远时变得异常拉伸与扭曲。
15w49b末地传送门方块的判定箱高度由原本的116格高改为34格高。
1.1116w35a蛋糕的判定箱再次显示在正确的位置上了。[5]
1.1317w47a铁砧漏斗的轮廓箱更符合其模型。
酿造台的中轴也计入判定箱。[6]
栅栏在直角方向的分支的轮廓箱现在是正确的L形、T形或十字形。[7]
仙人掌现在有一个正确的长方体轮廓箱。[8]
包含多个藤蔓的方块轮廓箱优化。
玻璃板铁栏杆在分支时有更明确的轮廓箱。
末地传送门框架的轮廓箱现在可以正确地囊括末影之眼。
活塞睡莲的轮廓箱已被更改。
的碰撞箱已被正确地做成凹形。[9]
1.1418w48a现在的轮廓箱更符合其视觉形状。
19w13a炼药锅的轮廓箱现在更符合模型,允许它下面的方块被选取。[10]
1.1620w10a现在有一个轮廓箱(灵魂火亦如此),[11]使它更符合其他方块。在此之前,火根本没有轮廓箱,破坏它需要瞄准下面的方块,这也允许它在创造模式时,不会被手持三叉戟的玩家破坏。这还阻止其方块状态在调试屏幕中读取或通过调试棒修改。
20w18a红石线的轮廓箱现在更接近其视觉形状。例如,红石线在不同方向上的分支会导致其轮廓箱自身在所述方向上分支,[12]对应了栅栏、玻璃板、铁栏杆和墙的行为。并且,如果攀升至一个方块的侧面,红石粉的垂直部分现在也可以被选取。[13]

实体

边界箱

Java版
1.4.41.4.3现在可以通过F3 + B来查看实体的判定箱,此时判定箱为白色不透明的,且无法与实际轮廓相符。
1.7.21.7.1在视觉上对实体判定箱做调整,以使其变得更符合直觉。

你知道吗

  • 液体能够呈现部分方块特性,但其不具备判定箱。[14]
  • 末影龙由九个不同的判定箱组成。

参见

参考

游戏内容

Advertisement