Minecraft中的亮度(Light/Lighting)会影响视觉、生物生成及植物的生长。它包括三个方面:光照等级,内部光照等级和渲染亮度。
光照等级[]
在Java版中,调试屏幕上会显示光照等级。有两种类型的光照:天空光照和方块光照。光照等级(Light level)共有16级,以0(最小)至15(最大)的整数表示。
方块光照[]
T | 13 | 12 | 11 | 10 | 9 | 8 | 9 | 10 | 11 | 12 | 13 | T |
13 | 12 | 11 | 10 | 9 | 8 | 9 | 8 | 9 | 10 | 11 | 12 | 13 |
12 | 11 | 10 | 9 | 8 | 9 | 10 | 9 | 8 | 9 | 10 | 11 | 12 |
11 | 10 | 9 | 8 | 9 | 10 | 11 | 10 | 9 | 8 | 9 | 10 | 11 |
10 | 9 | 8 | 9 | 10 | 11 | 12 | 11 | 10 | 9 | 8 | 9 | 10 |
9 | 8 | 9 | 10 | 11 | 12 | 13 | 12 | 11 | 10 | 9 | 8 | 9 |
8 | 9 | 10 | 11 | 12 | 13 | T | 13 | 12 | 11 | 10 | 9 | 8 |
方块光照(Block Light)即方块发出的光,它会按照Flood Fill算法传播。
光源产生方块光照向毗邻的六个方块传播时会衰减1光照等级,直到衰减为0。由此可知,光照衰减依照方块坐标的“曼哈顿距离”(两个点在坐标系上的绝对轴距总和)计算。例如:
- 假如地上插着一支火把(光照等级14),则在同一平面上,火把四周的方块的光照等级均为13,火把对角的方块的光照等级均为12。
- 假如在地面上方一格的墙上插一支火把,则地板上方且与火把斜对角的方块(即不接触墙壁的方块)的光照等级为11(譬如,西北下方方块的光照等级为,14-1(向西)-1(向北)-1(向下))。
上述这种衰减特性会使光源周围光照的扩散近似呈正方体。在基岩版中,半透明方块可以使方块光照衰减更多(参见下文)。
在计算光照时,光照系统会检查方块是否是透明的。如果是,则可以通过这个方块传播光线;如果不是,则光线被遮挡。在Java版中,有些方块在一些位置上可以透过光照,而有些位置不能,这类部分透明的方块会检查光线射入或射出方块的方向是否是方块的完整遮挡面。如果遮挡面完整,光线就不能从这个面射入,同样也不能从这个面射出,即计算方块光照时不考虑遮挡面完整方向上的光照输入,也不会向遮挡面完整的方向上传播光照。
天空光照[]
所有露天位置的天空光照(Sky Light)等级为15,之后会按照Flood Fill算法传播,光照计算类似于方块光照。天空光照与时间无关,它在夜晚不会减弱。
在Java版中,如果一个等级为15的天空光照向下穿过一个散射天空光的方块,那么它的光照等级会减1;当穿过一个非散射天空光的光照透明方块,它的光照等级不变。
光照透明方块[]
每个方块都有能否遮挡光线的属性。如果一个方块完全不能遮挡光线,它就是光照透明方块。入射光线和出射光线不受遮挡穿过这些方块传播。所有没有碰撞箱和绝大多数遮挡形状不完整的方块都是光照透明方块。
下列是不会进行光照遮挡的方块:
下列是有遮挡形状,但遮挡形状不完整的方块。这类方块也是光照透明方块:
在Java版中,有些光照透明方块会“散射”天空光,即亮度等级为15的天空光射入这些方块后亮度等级减1而不是保持不变。下列光照透明方块具有这种属性:
在基岩版中,一些方块会对光照造成不同程度的削减,它们是半透明方块。
图标 | 方块 | 减少值 |
---|---|---|
信标 | 14 | |
铁砧 | 3 | |
酿造台 | ||
炼药锅 | ||
漏斗 | ||
冰 | ||
霜冰 | ||
水 | 2 | |
蜘蛛网 | 1 | |
树叶 | ||
细雪 | ||
台阶 |
如果一个方块遮挡形状完整,那么它就是光照不透明方块,或完全固体渲染方块。
在Java版中,有些遮挡形状不完整的方块会检查射入方向上对应方块的对应面能否发射出本方块射入面不会遮挡的光线形状来决定是否光线能射入,并阻止光线从遮挡面射出。这种方块就是部分光照透明方块。下列方块都是部分光照透明方块:
例如,讲台是一个部分光照透明方块,它的底面遮挡面完整而其他遮挡面不完整,所以它可以阻挡从它下方射入的光线,也会阻止向下方射出光线。上半台阶是部分光照透明方块,上面遮挡面是完整的,即光线不能从上面射入或射出;侧面遮挡面是1×0.5的长方形,如果入射光线只在这个范围内光线也会被遮挡。泥土是光照不透明方块,也就是所有光线都不能透过它进行传播。
发光方块[]
以下数值为方块本身的亮度:
图标 | 方块 | 光照等级 |
---|---|---|
信标 | 15 | |
装有熔岩的炼药锅 | 15 | |
末地折跃门方块 | 15 | |
末地传送门方块 | 15 | |
火 | 15 | |
营火 | 15 | |
荧石 | 15 | |
南瓜灯 | 15 | |
熔岩 | 15 | |
点亮的铜灯 |
15 | |
点亮的红石灯 | 15 | |
海晶灯 | 15 | |
4个海泡菜(在水中) | 15 | |
潮涌核心 | 15 | |
灯笼 | 15 | |
菌光体 | 15 | |
重生锚(4级能量) | 15 | |
蛙明灯 | 15 | |
末地烛 | 14 | |
火把 | 14 | |
水下火把 |
14 | |
彩色火把 |
14 | |
结果的洞穴藤蔓 | 14 | |
燃烧中的熔炉 | 13 | |
燃烧中的高炉 | 13 | |
燃烧中的烟熏炉 | 13 | |
发光的黑曜石 |
12 | |
点亮的斑驳的铜灯 |
12 | |
3个海泡菜(在水中) | 12 | |
4个点燃的蜡烛 | 12 | |
下界传送门方块 | 11 | |
重生锚(3级能量) | 11 | |
灵魂火 | 10 | |
灵魂火把 | 10 | |
灵魂灯笼 | 10 | |
哭泣的黑曜石 | 10 | |
灵魂营火 | 10 | |
点亮的红石矿石 | 9 | |
2个海泡菜(在水中) | 9 | |
3个点燃的蜡烛 | 9 | |
点亮的深层红石矿石 | 9 | |
点亮的锈蚀的铜灯 |
8 | |
附魔台 | 7 | |
末影箱 | 7 | |
点亮的红石火把 | 7 | |
重生锚(2级能量) | 7 | |
发光地衣 | 7 | |
1个海泡菜(在水中) | 6 | |
2个点燃的蜡烛 | 6 | |
幽匿催发体 | 6 | |
紫水晶簇 | 5 | |
大型紫晶芽 | 4 | |
点亮的氧化的铜灯 |
4 | |
岩浆块 | 3 | |
重生锚(1级能量) | 3 | |
1个点燃的蜡烛 | 3 | |
插着点燃的蜡烛的蛋糕 | 3 | |
中型紫晶芽 | 2 | |
酿造台 | 1 | |
棕色蘑菇 | 1 | |
龙蛋 | 1 | |
末地传送门框架 | 1 | |
小型紫晶芽 | 1 | |
幽匿感测体 | 1 | |
校频幽匿感测体 | 1 | |
光源方块 | 0 - 15
详细内容见光源方块页面 |
内部光照[]
内部光照等级用于游戏的内部计算。游戏采用一个方块的位置的内部光照等级来计算游戏内容,包括生物生成、植物生长、阳光探测器的输出等。它同样也是一个整数,最大等级为15,最小为0。
游戏使用天空光照、时间和天气来计算内部天空光照(internal sky-light),然后取方块光照和内部天空光照二者等级的较大值作为内部光照等级(公式:(max(内部天空光照,方块光照))
) 。
以下是在天空光照为15的情况下的内部天空光照表格:
晴天 | 降雨或降雪 | 雷暴 | ||||||
---|---|---|---|---|---|---|---|---|
时间 ↓ | 时间 ↑ | 内部天空光照 | 时间 ↓ | 时间 ↑ | 内部天空光照 | 时间 ↓ | 时间 ↑ | 内部天空光照 |
13670 - 22330 | 4 | 13670 - 22330 | 4 | 13670 - 22330 | 4 | |||
22331 - 22491 | 13509 - 13669 | 5 | 22331 - 22565 | 13436 - 13669 | 5 | 22331 - 22671 | 13330 - 13669 | 5 |
22492 - 22652 | 13348 - 13508 | 6 | 22566 - 23798 | 13203 - 13435 | 6 | 22672 - 23010 | 12990 - 13329 | 6 |
22653 - 22812 22653 - 22813 |
13188 - 13347 | 7 | 23799 - 23031 | 12969 - 13202 | 7 | 23011 - 23352 | 12648 - 12989 | 7 |
22813 - 22973 22814 - 22973 |
13027 - 13187 | 8 | 23032 - 23266 | 12734 - 12968 | 8 | 23353 - 23700 | 12300 - 12647 | 8 |
22974 - 23134 | 12867 - 13026 | 9 | 23267 - 23504 | 12497 - 12733 | 9 | 23701 - 59 | 11941 - 12299 11942 - 12299 |
9 |
23135 - 23296 | 12705 - 12866 | 10 | 23505 - 23745 | 12256 - 12496 | 10 | 60 - 11940 60 - 11941 |
10 | |
23297 - 23459 | 12542 - 12704 | 11 | 23746 - 23991 | 12010 - 12255 | 11 | N/A | ||
23460 - 23623 23460 - 23624 |
12377 - 12541 | 12 | 23992 - 12009 | 12 | N/A | |||
23624 - 23790 23625 - 23790 |
12210 - 12376 | 13 | N/A | N/A | ||||
23791 - 23960 | 12041 - 12209 | 14 | N/A | N/A | ||||
23961 -12040 | 15 | N/A | N/A |
图标 | 时间 | 当天空光照为15时的内部天空光照 |
---|---|---|
中午,晴天时 | 15 | |
中午,降雨或降雪时 | 12 | |
中午,雷暴时 | 10[雷暴 1] | |
午夜,晴天时 | 4 |
- ↑ 在雷暴期间,部分敌对生物生成系统会将内部天空光照视为天空光减10,从而允许此生物可以在一天的任何时间中在地面上生成。
内部光照的影响[]
注意:光照等级只是影响生物生成和植物生长的其中一个因素。
生物[]
0-3级 | 4-6级 | 7级 | 8-11级 | 12-15级 | |
---|---|---|---|---|---|
蝙蝠 | 在海平面以下生成 | 10月20日至11月3日在海平面以下生成 | 不生成 | ||
史莱姆 | 在沼泽生物群系中生成于Y=51~69 | 在大多数生物群系中(除蘑菇岛、下界、末地和虚空外)的特定区块中生成于Y<40 | |||
苦力怕 女巫 尸壳 |
在主世界中生成[注 1] | 敌对,不生成 | |||
僵尸 僵尸村民 溺尸 |
在主世界中生成[注 1] | 敌对,不生成 | 敌对,阳光下自燃 | ||
骷髅 | 在主世界和下界中生成[注 1] | 敌对,不生成 | 敌对,阳光下自燃 | ||
幻翼 | 主世界下的玩家在3游戏日后仍未睡觉时生成 | 敌对,不生成 | 敌对,阳光下自燃 | ||
蜘蛛 | 在主世界中生成[注 1] | 敌对,不生成 | 不生成,不主动攻击其他生物 | ||
洞穴蜘蛛 | 由刷怪笼生成 | 敌对,不生成 | 不生成,不主动攻击其他生物 | ||
蠹虫 | 由刷怪笼生成 | 敌对,不生成 | |||
凋灵骷髅 |
生成于下界要塞 | 敌对,不生成 | |||
僵尸猪灵 | 在下界中生成 | 不生成,不主动攻击其他生物 | |||
猪灵 | 在下界中生成 | 不生成 | |||
末影人 | 在主世界、下界和末地中生成 | 不生成,在阳光下随机传送 |
方块[]
≤3级 | 4-7级 | 8级 | 9级 | 10级 | 11级 | 12级 | 13–15级 | |
---|---|---|---|---|---|---|---|---|
雪[注 1] | 形成且不融化 | 既不形成也不融化[注 2] | 融化 | |||||
冰[注 1] | 形成且不融化 | 既不形成也不融化[注 3] | 融化 | |||||
蘑菇[注 4] | 蔓延 | 若不在菌丝体、灰化土或菌岩上,接收方块更新时掉落成物品 | ||||||
树苗[注 4][注 5] 南瓜茎[注 4] 西瓜茎[注 4] |
停止生长 | 生长 | ||||||
草方块[注 5] 菌丝体[注 5] |
不蔓延 | 可以蔓延至附近的泥土 | ||||||
小麦植株[注 4] 火把花植株[注 4] 胡萝卜[注 4] 马铃薯[注 4] 甜菜根[注 4] |
接收到方块更新时掉落成物品 | 停止生长 | 生长 | |||||
瓶子草植株[注 4] | 接收到方块更新时掉落成物品 | 生长 | ||||||
霜冰 | 详见霜冰条目。 | |||||||
阳光探测器 | 详见阳光探测器条目。 |
其他[]
在Java版中,战利品表条件中所判断是光照就是内部光照等级。
渲染亮度[]
方块或实体渲染出的亮度取决于光照等级、时间和天气。
正如上文所述,天空光照并不是白天高晚上低,它不随时间变化,随时间变化的是亮度曲线本身。生物也会产生一个圆形
总体而言,同样等级中,方块光照显得比天空光照更亮,但方块光照最高也只能到14级(固体方块光源的发光等级是15,但仅仅是光源本身所在位置是这个等级),而露天处的天空光照会到15级,因此可以实现平衡。方块光照在中等级时偏橙,而主世界白天的天空光照是白色的。
在亮度设置为“昏暗”的主世界中,日光最强时亮度[luma 1]达到98%,夜晚时降至17%[luma 1]且泛蓝。完全黑暗时的明亮度约为5%[luma 1]。
在下界中,由于本来就没有天空光照,因此也不再产生影响(如果有,会达到约99%的明亮度[luma 1])。在亮度设置为“昏暗”下,完全黑暗时的明亮度约为25%[luma 1],此值仅比主世界中光照等级7、无天空光照的情况稍微黑一点,且会像方块光照一样泛橙。
在末地中,天空光照无论是否存在都不会造成任何影响(可以通过在末地中召唤闪电观察到,末地中不会出现其他维度中出现的天空闪烁效果)。在亮度设置为“昏暗”下,完全黑暗时的明亮度大约为28%[luma 1],且有些偏蓝绿色。
平滑光照[]
平滑光照(其中包括环境光遮蔽以及方块间的插值照明)是一个平滑亮度差、加黑方块边角从而实现更真实的阴影和光线的光照引擎。平滑光照只会对世界渲染到屏幕的过程有影响,不会对亮度等级造成影响。因此平滑光照不会对生物生成或农作物生长造成影响。平滑光照默认是开启的。
平滑光照可以在选项菜单的“视频设置”中将其设置为开启或关闭。
历史[]
Java版pre-Classic | |||||
---|---|---|---|---|---|
Pre-classic(中间版本) | 加入了光照引擎。Classic中的光照引擎非常简陋,只有两种光照等级:明亮和黑暗。“阳光”从地图顶面往下照射,将其下方的方块照亮,而不考虑距离。阳光会直接穿透透明方块并照亮其下的方块。没有受到光照的方块会蒙上一层暗淡的阴影,且无论光源距离,其亮度永远保持一致。 | ||||
Java版Classic | |||||
2009年5月26日 | Notch讨论了在一定范围里动态光照的可行性,以提供定义像熔岩那样能提供光照的方块的可能。 | ||||
Java版Indev | |||||
0.31 | 20091223-1 | 加入了9级亮度,其中第8级为白天的最高亮度,而第0级为几乎完全黑暗。亮度与“明亮度”间呈线性关系,明亮度除以8便是明亮度百分比,例如亮度8即为100%(8⁄8)明亮度,亮度7即为87.5%(7⁄8)明亮度。 | |||
20100109 | 加入了16级亮度,其中第15级为白天的最高亮度,而第0级为几乎完全黑暗。 | ||||
日光现在会发出15的亮度等级。 | |||||
20100212-1 | 日光的亮度等级会在黄昏时逐渐减少,直到值降到4为止,此时为月光的亮度等级。 | ||||
Java版Alpha | |||||
? | 亮度不再呈线性关系。 | ||||
亮度每降1级,明亮度降低至上一级的80%。例如,14级的明亮度是15级的80%,13级的明亮度是15级的64%。 | |||||
阳光拥有其独立的光照矩阵并得到优化,使日出和日落时的光照过渡得更自然。在日落、夜晚和日出时,天空光照还会减去不同的“黑暗”值,营造出一天不同时段的不同效果。 | |||||
v1.2.0 | preview | 下界加入,其中的亮度每降1级,明亮度降低至上一级的90%,而非80%。 | |||
往地下越深,攻击型生物可在更高光照等级下生成,其光照等级要求为 16 − (层数 / 8) 以下。在第8层及更深处,这些生物甚至可以在阳光下生成。 | |||||
v1.2.1 | Notch将新的生物生成机制撤销,并称“这个机制太烦人了。我有更好地处理这个问题的计划。” | ||||
Java版Beta | |||||
1.3 | 在MrMessiah的协助下,平滑光照引擎加入游戏。[2] | ||||
1.8 | ? | 引入了新的光照引擎。方块会泛出附近最强光源所带来的颜色。 | |||
昼夜更替不再依赖区块更新,且平滑过渡。 | |||||
人造光源会出现微弱的摇曳闪烁。 | |||||
虚空雾加入,使地底深处更为黑暗。 | |||||
Java版 | |||||
1.4.2 | 12w39a | Dinnerbone修复了世界生成中产生的黑色小片,[3]并开始大修光照系统,譬如改变方块光照逻辑,以实现定向照明。[4][5] | |||
1.5 | 13w05a | 改善了楼梯处的光照逻辑。 | |||
13w06a | 数项光照优化。 | ||||
13w09a | 平滑光照加入了3个等级:关闭、最小和最大。“最小”使用旧版平滑光照系统,而“最大”修复了楼梯的光照问题。 | ||||
1.7.2 | ? | 世界生成中产生的黑色小片大幅减少。[6] | |||
1.8 | 14w30a | 光照系统得到明显改善,世界生成中产生的黑色小片进一步减少。 | |||
14w34c | 虚空雾及其粒子效果因性能问题被移除。 | ||||
1.14 | 18w43a | 重写了光照系统。 | |||
18w46a | 增加了对方块的方向性不透明度的支持。 | ||||
1.14.2 | pre4 | 现在第一次打开以前版本保存的世界时会重新计算光照。 | |||
1.17 | 21w13a | 加入了光源方块,可以自定义方块亮度。 | |||
pre2 | 平滑光照在水下能够正常运作了。[7] | ||||
1.18 | exp1 | 现在按照普通机制生成的主世界敌对生物都只会在方块光照等级为0时自然生成,此版本之前它们在光照等级不高于7时即可生成。 | |||
1.19 | pre1 | 现在末影人、骷髅和凋灵骷髅在下界生成时需要的亮度等级扩大为0-11。 | |||
1.19.3 | 22w46a | 现在末影人、骷髅和凋灵骷髅在下界中只会生成于亮度小于等于7的位置。 | |||
携带版Alpha | |||||
0.7.0 | 加入了可切换的平滑光照。 | ||||
0.8.0 | ? | 因不明原因移除了可切换的平滑光照。 | |||
携带版 | |||||
1.1.0 | 1.1.0.0 | 在图像设置中加入平滑光照设置。 | |||
基岩版 | |||||
1.13.0 | 1.13.0.9 | 加入了光源方块,可以自定义方块亮度。 | |||
1.17.30 | 1.17.20.22 | 现在开启实验性玩法后,按照普通机制生成的主世界敌对生物都只会在方块光照等级为0时自然生成,此版本之前它们在光照等级不高于7时即可生成。 | |||
1.18.0 | 1.18.0.20 | 新的主世界生物生成机制不再属于实验性玩法。 | |||
1.19.0 | 1.19.0.30 | 现在末影人、猪灵、骷髅和凋灵骷髅在下界生成时需要的亮度等级扩大为0-10。 | |||
1.19.60 | 1.19.60.22 | 现在末影人、骷髅和凋灵骷髅在下界中只会生成于亮度小于等于7的位置。 |
你知道吗[]
- 在基岩版中,发光方块的六个面亮度一致,与Java版略有不同,这样看上去更有发光的感觉。烈焰人也是如此。
- 在Minecraft的源代码中,“明亮度(Luminescence)”被定义为浮点型。匪夷所思的是,这些数值均为16的商,但却被乘以15得到最终的整数光照等级。
- 这意味着0/16和1/16(0.0和0.0625)均对应光照等级0。
画廊[]
参考[]
- ↑ MC-1531
- ↑ "Minecraft Beta 1.3"(存档) – The Word of Notch,Tumblr,2011年2月22日。
- ↑ https://twitter.com/Dinnerbone/status/250952827608915969
- ↑ https://twitter.com/Dinnerbone/status/250904989885661184
- ↑ http://www.reddit.com/r/Minecraft/comments/10g4mi/dinnerbone_at_this_point_i_think_its_almost/
- ↑ https://twitter.com/jeb_/status/362559336033165312
- ↑ MC-68129 — 漏洞状态为“已修复”。
语言