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算法传播。请注意,天空光照与时间无关,它在夜晚不会减弱。
不透明的方块会完全阻止光照传播。而完全透明方块(如玻璃和铁栏杆)等不会影响天空光照的传播,而除此之外的半透明方块会使天空光照衰减。
15等级的天空光照透过完全透明方块向下方传递时等级保持不变,向四周及上方传递时会减小1光照等级。而当透过半透明方块向传递时光照等级会衰减(见下文)。
小于15等级的天空光照的传递则和方块光照一样,向毗邻传播时光照等级衰减,直至衰减至0。
在Java版中,在计算光照时,会检测到一些方块的形状,以使经过它们的光只能沿特定的方向传播。包括且仅包括活塞、阳光探测器、附魔台、耕地、讲台、切石机、草径、雪、末地传送门框架、台阶和楼梯,例如,草径阻止光照向下传播,但是可以向其他方向传播。
半透明方块
在Java版中,所有的半透明方块都只会使光照降低1级。半透明方块有末地折跃门、紫颂花、紫颂植物、蜘蛛网、霜冰、冰、刷怪笼、蜂蜜块、粘液块、熔岩、水、气泡柱、树叶、潜影盒、信标以及含水的完全透明方块。
以下值是在基岩版中每个方块减少的光照等级。
图标 | 方块 | 减少值 |
---|---|---|
冰 | 3 | |
水 | 2 | |
蜘蛛网 | 1 | |
树叶 | ||
发光方块
以下数值为方块本身的亮度:
内部光照
内部光照等级用于游戏的内部计算。游戏采用一个方块的位置的内部光照等级来计算游戏内容,包括生物生成、植物生长、阳光探测器的输出等。
游戏使用天空光照、时间和天气来计算内部天空光照(internal sky-light),然后取方块光照和内部天空光照二者等级的较大值作为内部光照等级(公式:(max(内部天空光照,方块光照))
) 。它同样也是一个整数,最大等级为15,不过它也可以是负数。
以下是在天空光照为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 |
13188 - 13347 | 7 | 23799 - 23031 | 12969 - 13202 | 7 | 23011 - 23352 | 12648 - 12989 | 7 |
22813 |
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 |
9 |
23135 - 23296 | 12705 - 12866 | 10 | 23505 - 23745 | 12256 - 12496 | 10 | 60 - 11940 |
10 | |
23297 - 23459 | 12542 - 12704 | 11 | 23746 - 23991 | 12010 - 12255 | 11 | N/A | ||
23460 - 23623 |
12377 - 12541 | 12 | 23992 - 12009 | 12 | N/A | |||
23624 |
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 |
- ↑ 在雷暴期间,生物生成系统会将内部天空光照视为5,从而允许攻击型生物的出现。
内部光照的影响
注意:请记住,光照等级只是影响生物生成和植物生长的其中一个因素。
生物
≤3级 | 4-7级 | 8级 | 9级 | 10级 | 11级 | 12级 | 13–15级 | |
---|---|---|---|---|---|---|---|---|
蝙蝠 | 生成于y: 0-62 | 10月20日至11月3日生成于y: 0-62 | 不生成 | |||||
烈焰人 | 生成于下界要塞 | 敌对,不生成 | ||||||
凋灵骷髅 | 生成于下界要塞 | 敌对,不生成 | ||||||
史莱姆 | 在沼泽生物群系中生成于y: 51–69 | 在大多数生物群系中(除蘑菇岛、下界、末路之地和虚空外)的特定区块中生成于y: 0–40 | ||||||
僵尸 骷髅 |
在主世界中生成 | 敌对,不生成 | 敌对,阳光下自燃 | |||||
溺尸 | 生成于河流和海洋 | 敌对,不生成 | 敌对,阳光下自燃且无视日光下的玩家 | |||||
苦力怕 女巫 蠹虫[注 1] |
在主世界中生成 | 敌对,不生成 | ||||||
幻翼 | 主世界下的玩家在3游戏日后仍未睡觉时生成 | 敌对,不生成 | 敌对,阳光下自燃 | |||||
蜘蛛 洞穴蜘蛛 |
在主世界中生成 | 敌对,不生成 | 不生成,被挑衅前中立 | |||||
末影人 | 在主世界、下界和末路之地中生成 | 不生成,被挑衅前中立 | 不生成,在阳光下随机传送并经常忽略玩家 |
方块
≤3级 | 4-7级 | 8级 | 9级 | 10级 | 11级 | 12级 | 13–15级 | |
---|---|---|---|---|---|---|---|---|
雪 冰[注 1] |
形成,且不融化 | 形成,且融化 | 融化 | |||||
蘑菇 | 蔓延 | 若不在菌丝或灰化土上,则掉落成物品 | ||||||
树苗 南瓜或西瓜梗 [注 2] |
停止生长 | 生长 | ||||||
小麦 胡萝卜 马铃薯 甜菜根[注 3] |
掉落成物品 | 停止生长 | 生长 | |||||
草方块 菌丝体[注 4] |
若被不透明方块或“部分透明”方块压住,则变成泥土 | 不蔓延 | 蔓延至附近的泥土(见下) | |||||
泥土[注 4] | 不会蔓延至此 | 若未被不透明方块或部分透明方块压住,则会蔓延至此 | ||||||
霜冰 | 详见霜冰条目。 | |||||||
阳光探测器 | 详见阳光探测器条目。 |
其他
≤3级 | 4-7级 | 8级 | 9级 | 10级 | 11级 | 12级 | 13–15级 | |
---|---|---|---|---|---|---|---|---|
环境音效 |
渲染亮度
方块或实体渲染出的亮度取决于光照等级、时间和天气。
正如上文所述,天空光照并不是白天高晚上低,它不随时间变化,随时间变化的是亮度曲线本身。生物也会产生一个圆形
总体而言,同样等级中,方块光照显得比天空光照更亮,但方块光照最高也只能到14级(固体方块光源的发光等级是15,但仅仅是光源本身所在位置是这个等级),而露天处的天空光照会到15级,因此可以实现平衡。方块光照在中等级时偏橙,而主世界白天的天空光照是白色的。
在亮度设置为“昏暗”的主世界中,日光最强时亮度[luma 1]达到98%,夜晚时降至17%[luma 1]且泛蓝。完全黑暗时的明亮度约为5%[luma 1]。
在下界中,由于本来就没有天空光照,因此也不再产生影响(如果有,会达到约99%的明亮度[luma 1])。在亮度设置为“昏暗”下,完全黑暗时的明亮度约为25%[luma 1],此值仅比主世界中光照等级7、无天空光照的情况稍微黑一点,且会像方块光照一样泛橙。
在末路之地中,天空光照无论是否存在都不会造成任何影响(可以通过在末路之地中召唤闪电观察到,末路之地中不会出现其他维度中出现的天空闪烁效果)。在亮度设置为“昏暗”下,完全黑暗时的明亮度大约为28%[luma 1],且有些偏蓝绿色。
平滑光照
平滑光照(其中包括环境光遮蔽以及方块间的插值照明)是一个平滑亮度差、加黑方块边角从而实现更真实的阴影和光线的光照引擎。平滑光照只会对世界渲染到屏幕的过程有影响,不会对亮度等级造成影响。因此平滑光照不会对生物生成或农作物生长造成影响。平滑光照默认是开启的。画和水不受平滑光照的影响。
在基岩版中,平滑光照可以在选项菜单的“视频设置”中将其设置为开启或关闭。在Java版中,平滑光照可以在选项菜单中的“视频设置”设置为最小、最大、或关闭。
历史
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 | 现在第一次打开以前版本保存的世界时会重新计算光照。 | |||
携带版Alpha | |||||
0.7.0 | 加入了可切换的平滑光照。 | ||||
0.8.0 | ? | 因不明原因移除了可切换的平滑光照。 | |||
携带版 | |||||
1.1.0 | alpha 1.1.0.0 | 在图像设置中加入平滑光照设置。 |
漏洞
Template:Issue list
你知道吗
- 在Minecraft的源代码中,“明亮度(Luminescence)”被定义为浮点型。匪夷所思的是,这些数值均为16的商,但却被乘以15得到最终的整数光照等级。
- 这意味着0/16和1/16(0.0和0.0625)均对应光照等级0。
画廊
参考
- ↑ MC-1531
- ↑ http://notch.tumblr.com/post/3446675806/minecraft-beta-1-3
- ↑ 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