明るさ(英:Light)は、Minecraftにおいて可視性、Mobのスポーン、植物の成長に影響を与える要素である。Minecraftでの明かりには、明るさレベル、内部の明るさレベル、描画される明るさの3種類がある。
明るさレベル[]
明るさレベルは、Java Editionではデバッグ画面で確認することができる。空と特定のブロックの2つの要素によって決定され、0(最小)から15(最大)までの16段階で決定されている。
ブロックによる明かり[]
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 |
ブロックによる明かりは発光ブロックから発生し、Flood fillアルゴリズムを用いて拡散する。
ブロックによる明かりは、マンハッタン距離での1メートル(1ブロック)ごとに1減少する。これは3つの座標軸のそれぞれに当てはまる。つまり、明るさレベルは各軸に沿った距離の和によって斜めに減少する。例えば、
- 明るさレベル14の松明を地面に置いた場合、四方の隣接するブロックの明るさレベルは13であり、南東のブロックの明るさレベルは12(元の明るさレベル14から南1東1を引いた値)になる。
- 明るさレベル14の松明を地面から1ブロック離れた壁に置いた場合、松明の南東で1ブロック下の床ブロックは明るさレベル11(元の明るさレベル14からx軸1y軸1を引いた値)になる。
この計算により、表面上ひし形に見える。Bedrock Editionでは明かりを透すブロックは、ブロックによる明かりを減少させる。
Java Editionでは明るさレベルを計算する際に、ピストン、日照センサー、エンチャントテーブル、耕地、書見台、石切台、草の道、雪、エンドポータルフレーム、ハーフブロック、階段などの形状が検知され、特定の方向に光を広がせることができる。例えば、草の道の下には、明るさが伝わらないが、それ以外の方向には伝わる。例外として、コンポスター、大釜、ホッパー、カーペットがある。[1]
空による明かり[]
真昼の明るさレベルは15である。空による明かりは、広範囲に広がる。夜は、空からの明かりが減るのではなく、内部の明るさ情報によってスポーン可能かが決められている。
不透明度は、空からの明かりを遮ることができる。対照的に、ガラスや、鉄格子などの妨げないブロックもある。しかし、他の透明のブロックはすべて、空からの明るさを遮る。遮光ガラスは、見た目が透明であるにも関わらず、空からの明かりを完全に遮る。
透明なブロックを通して、明るさレベル15の光が伝わっても、明るさレベルは変化しない。横に広がったり、上に広がった場合、明るさレベルは1減少する。明かりを透すブロックを通じて拡散させると、上記の法則に従わず明るさレベルが減少する。
明るさレベル15以下の空による明かりは、ブロックによる明かりと同様に振る舞う。隣接するブロック(上下を含む6ブロック)に伝わると、0になるまで減衰する。
Java Editionでは明るさレベルを計算する際に、ピストン、日照センサー、エンチャントテーブル、耕地、書見台、石切台、草の道、雪、エンドポータルフレーム、ハーフブロック、階段などの形状が検知され、特定の方向に光を広がせることができる。これらは、方向性のある不透明度を有している。 例えば、草の道の下には、明るさが伝わらないが、それ以外の方向には伝わる。
明かりを透すブロック[]
Java Editionでは次の明かりを透すブロックはすべて空からの明るさレベルを1減少させる。
アイコン | ブロック |
---|---|
水 | |
全ての水没したブロック | |
気泡柱 | |
氷 | |
薄氷 | |
クモの巣 | |
葉 | |
スライムブロック | |
ハチミツブロック | |
スポナー | |
溶岩 | |
ビーコン | |
エンドゲートウェイ | |
コーラスプラント | |
コーラスフラワー | |
シュルカーボックス |
Bedrock Editionでは、明かりを透すブロックは、ブロックや空からの明かりをより多く減少させる。以下が減少させる量である。
アイコン | ブロック | 減少量 |
---|---|---|
氷 | 3 | |
水 | 2 | |
クモの巣 | 1 | |
葉 |
光源ブロック[]
以下の値は、ブロック自体の明るさである。
アイコン | ブロック | 明るさレベル |
---|---|---|
ビーコン | 15 | |
点火している焚き火 | 15 | |
コンジット | 15 | |
エンドゲートウェイ (ブロック) | 15 | |
エンドポータル (ブロック) | 15 | |
グロウストーン | 15 | |
炎 | 15 | |
フロッグライト | 15 | |
溶岩 | 15 | |
溶岩入りの大釜 | 15 | |
ジャック・オ・ランタン | 15 | |
ランタン | 15 | |
点灯しているレッドストーンランプ | 15 | |
完全に充填されているリスポーンアンカー | 15 | |
シーランタン | 15 | |
水の中にある4つのシーピクルス | 15 | |
シュルームライト | 15 | |
色付きの松明[BEおよびedu限定] | 14 | |
エンドロッド | 14 | |
グロウベリー |
14 | |
松明 | 14 | |
水中の松明[BEおよびedu限定] | 14 | |
動作時の溶鉱炉 | 13 | |
動作時のかまど | 13 | |
動作時の燻製器 | 13 | |
点灯している4つのろうそく | 12 | |
エンチャントテーブル | 7 | |
輝く黒曜石[BE限定] | 12 | |
水の中にある3つのシーピクルス | 12 | |
ネザーポータル (ブロック) | 11 | |
3⁄4充填されているリスポーンアンカー | 11 | |
泣く黒曜石 | 10 | |
点火している魂の焚き火 | 10 | |
魂の炎 | 10 | |
魂のランタン | 10 | |
魂の松明 | 10 | |
点灯している3つのろうそく | 9 | |
光っているレッドストーン鉱石 | 9 | |
水の中にある2つのシーピクルス | 9 | |
エンダーチェスト | 7 | |
ヒカリゴケ | 7 | |
点灯しているレッドストーントーチ | 7 | |
1⁄2充填されているリスポーンアンカー | 7 | |
点灯している2つのろうそく | 6 | |
スカルクカタリスト | 6 | |
水の中にある1つのシーピクルス | 6 | |
アメジストの塊 | 5 | |
大きなアメジストの芽 | 4 | |
青氷[BEおよびedu限定] | 4 | |
点灯しているろうそく | 3 | |
マグマブロック | 3 | |
モンスタースポナー[BE限定] | 3 | |
1⁄4充填されているリスポーンアンカー | 3 | |
普通のアメジストの芽 |
2 | |
小さなアメジストの芽 | 1 | |
醸造台 | 1 | |
茶色のキノコ | 1 | |
ドラゴンの卵 | 1 | |
エンドポータルフレーム | 1 | |
スカルクセンサー | 1 | |
光ブロック |
0–15
詳細は光ブロックを参照 |
内部の明るさレベル[]
内部の明るさレベルはゲーム内の計算に使用される。これは、Mobのスポーン、植物の成長、日照センサーの出力を計算するために使用される。
空からの光、時間、天気などの要素から内部の空からの光を計算し(暗くなっていく空の光として知られている)ブロックによる光と内部の空からの光を使用して、内部の明るさレベルを計算する(式: (最大(内部の空からの光、ブロックによる光))
)。この値は、最大が15の整数で、負の数にすることもできる。
以下は、空からの光がレベル15の場合の内部の空からの光である:
内部の空からの光 | 晴れ | 雨や雪 | 雷雨 | |||
---|---|---|---|---|---|---|
時間 ↓ | 時間 ↑ | 時間 ↓ | 時間 ↑ | 時間 ↓ | 時間 ↑ | |
4 | 13670–22330 | 13670–22330 | 13670–22330 | |||
5 | 22331–22491 | 13509–13669 | 22331–22565 | 13436–13669 | 22331–22671 | 13330–13669 |
6 | 22492–22652 | 13348–13508 | 22566–22798 | 13203–13435 | 22672–23010 | 12990–13329 |
7 | 22653–22812[JE限定] 22653–22813[BE限定] |
13188–13347 | 22799–23031 | 12969–13202 | 23011–23352 | 12648–12989 |
8 | 22813[JE限定]–22973 22814[BE限定]–22973 |
13027–13187 | 23032–23266 | 12734–12968 | 23353–23700 | 12300–12647 |
9 | 22974–23134 | 12867–13026 | 23267–23504 | 12497–12733 | 23701–59 | 11941[JE限定]–12299 11942[BE限定]–12299 |
10 | 23135–23296 | 12705–12866 | 23505–23745 | 12256–12496 | 60–11940[JE限定] 60–11941[BE限定] | |
11 | 23297–23459 | 12542–12704 | 23746–23991 | 12010–12255 | N/A | |
12 | 23460–23623[JE限定] 23460–23624[BE限定] |
12377–12541 | 23992–12009 | N/A | ||
13 | 23624[JE限定]–23790 23625[BE限定]–23790 |
12210–12376 | N/A | N/A | ||
14 | 23791–23960 | 12041–12209 | N/A | N/A | ||
15 | 23961–12040 | N/A | N/A |
空からの光 s のレベルが15未満の内部の空からの光を計算するためには、l の内部の空からの光を s と15の差で引き算する必要がある:l–(15–s)。
アイコン | 時間 | 空からの光が15の場合の内部の空からの光 |
---|---|---|
晴れの正午 | 15 | |
降雨時や降雪時の正午 | 12 | |
雷雨の正午 | 10[storm 1] | |
晴れの深夜 | 4 |
- ↑ 雷雨の間、明るさレベルが5と同様にMobがスポーンする。
内部の光の効果[]
注釈:内部の光はMobのスポーンと植物の成長に影響を及ぼす要素の一つであることを覚えておくこと
Mob[]
/fill
を使用した場合、スポーンに必要な明るさレベルが無視される可能性がある[2]。
明るさレベル →
Mob ↓ |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
コウモリ | Y座標0–62にスポーンする | 10月20日から11月3日までy座標0–62にスポーンする[JE限定] | スポーンしない | |||||||||||||
ブレイズ | ネザー要塞にスポーンする | スポーンしない | ||||||||||||||
ウィザースケルトン | ネザー要塞にスポーンする | スポーンしない | ||||||||||||||
ゾンビピグリン | ネザーにスポーンする | スポーンしない | ||||||||||||||
スライム | Y座標50–70の湿地帯にスポーンする | 湿地帯にはスポーンしない | ||||||||||||||
Y座標0–40のスライムチャンクにスポーンする | ||||||||||||||||
ゾンビ スケルトン |
オーバーワールドにスポーンする | スポーンしない | スポーンしない、日光で燃える | |||||||||||||
ドラウンド | 海洋と河川にスポーンする | スポーンしない、敵対的 | 日光で燃える、水の外のプレイヤーを無視する | |||||||||||||
クリーパー ウィッチ |
オーバーワールドにスポーンする | スポーンしない | ||||||||||||||
ファントム | ゲーム内で3日以上ベットで寝ていないとスポーンする | スポーンしない | 日光で燃える | |||||||||||||
クモ 洞窟グモ |
オーバーワールドにスポーンする | スポーンしない、敵対的 | スポーンしない、攻撃されない限り中立的 | |||||||||||||
シルバーフィッシュ[注釈 1] | オーバーワールドにスポーンする | スポーンしない、敵対的 | ||||||||||||||
エンダーマン 中立の状態 | オーバーワールドや、ネザー、ジ・エンドにスポーンする | スポーンしない、攻撃されない限り中立的 | スポーンしない、ランダムにテレポートする |
ブロック[]
ブロック | レベル0–3 | レベル4–7 | レベル8 | レベル9 | レベル10 | レベル11 | レベル12 | レベル13–15 |
---|---|---|---|---|---|---|---|---|
雪[注釈 1] | 凍る | 凍結も融解もしない[注釈 2] | 溶ける | |||||
氷[注釈 3] | 凍る | 凍結も融解もしない[注釈 4] | 溶ける | |||||
キノコ | 増殖する | 菌糸かポドゾルに植えられていない場合はアイテムとしてドロップする | ||||||
苗木 カボチャとスイカの茎 竹 [注釈 5] |
成長しない | 成長する | ||||||
小麦 ニンジン ジャガイモ ビートルート[注釈 6] |
抜ける | 成長しない | 成長する | |||||
草ブロック 菌糸[注釈 7] |
上に不透明や半透明のブロックがある場合土になる | 伝播しない | 隣接する土に伝播する。(下記参照) | |||||
土[注釈 7] | 伝播されない | 上に不透明や半透明のブロックがない場合伝播される | ||||||
薄氷 | 詳細は薄氷を参照 | |||||||
日照センサー | 出力 |
レンダリングされる明るさ[]
このゲームでは、明るさレベル(内部の明るさレベルの代わり)、時間、天気を使用して、ブロックやエンティティのレンダリングされる明るさを計算する。この時光は完全に単色であり、本当の意味で色を付けることはできない。
上述したように、夜間には空からの明るさレベルが減少するのではなく、時間によって明るさの曲線自体が減少する。エンティティには、円形[Java Edition限定]や三十角形[Bedrock Edition限定]の影があるが、ブロックのレンダリングとは無関係である。
一般的に、空からの光が明るさレベル15であることに対して、光源ブロックは明るいが実質明るさレベル14という事実でバランスがとられている (光源ブロックは明るさレベル15を出すことがあるが、光源ブロック自体で減衰する)。オーバーワールドの昼の空からの光は白色だが、光源ブロックからの光の色はオレンジ色になる傾向にある。
オーバーワールドで明るさを「Moody」にすると、日中の明るさ[輝度注 1]は98%にまでなり夜間の明るさ[輝度注 1]は17%まで減少し、青みがかる。完全に暗くなると、明るさ[輝度注 1]は5%程度にまでなる。
ネザーでは、空の光源がないので空からの明るさの影響が出ない(もし存在した場合明るさ[輝度注 1]の99%を占めると思われる) 明るさを「Moody」にすると、完全に暗い場合約25%の明るさ[輝度注 1]になり、これは空からの光がない場合の光源ブロックからの明るさレベル7よりも少し暗めで、光源ブロックからの光のようなオレンジ色の濃淡がある。
ジ・エンドでは、空の光源があるが空からの明るさの影響が出ない。これは、ジ・エンドに雷を召喚した際にも見られる(他のディメンションで見られるような閃光が発生しない) 明るさを「Moody」に設定したジ・エンドの明るさ[輝度注 1]は、約28%であり、光源ブロックの光のオレンジ色と比べ、青緑色に近い色になっている。
明るさレベル → バイオーム・時間帯 ↓ |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
オーバーワールド(昼) | ||||||||||||||||
オーバーワールド(夜) |
スムースライティング[]
スムースライティングは、アンビエントオクルージョンを使用してブロックの面全体の中で明るさレベルを計算して隅を暗くし、光源からの明かりや現実のような影を追加するライディングエンジンである。このエンジンはレンダリングされる明かりにのみ影響を与えるので、Mobのスポーンや、作物の成長には影響を与えない。デフォルトでは有効に設定されている。絵画や水には影響を与えない[Java Edition限定][3]。
Bedrock Editionでは、スムースライティングは、設定のビデオから有効かを選択することができる。 Java Editionでは、3つの設定があり、最大、最小 (古いエンジン)[4]オフがあり、設定のビデオ設定から変更することができる。
Minecraft でのアンビエントオクルージョン[]
近年、多くのゲームでアンビエントオクルージョンは主にGPUで生成されている。 しかし、Minecraft が開発された当初は、GPUの性能が低かった。このことが原因で、現在でもボクセルと明るさレベルに基づいて、コード内のアンビエントオクルージョンが計算されていると思われる。GPUを使用する方法よりもコードが複雑だが、速度が速くなっている。
アンビエントオクルージョンには、普通のテクスチャに陰影をつける役割がある。これは、普通のテクスチャの上に不透明なテクスチャを重ねることで表現されている。 これらのAOテクスチャをテクスチャに重ねることを、AOマッピングという。 Minecraftのスムースライティングのパターンは、フリップやローテーションを除いて5パターンほどしかなく、アルゴリズム的には3パターンしかない。厳密的には、もう少し多く分類することができる可能性がある。それは、明るさレベルによって強さが変わる現象である。しかし、それはTintによって解決されている。
AOテクスチャのパターン[]
ボクセルの北西側のみにAOマッピングを選択した場合、以下のパターンが考えられる。
数字 | 画像 |
---|---|
0 | |
1 | |
2 | |
3 |
これらの分類により、各ボクセルの配置からパターンを推測することができる。 次に、以下の関数を使用して、側面および角のボクセルの存在に応じて、ボクセルの頂点の不透明度を計算する。
function vertexAO(side1, side2, corner) { return 3 - (side1 + side2 + corner) }
これは、各頂点の値を使用して2x2ピクセルの画像を生成する。ピクセルが小さいが、心配に及ばない。アンチエイリアスを使って拡大され、グラデーションになる。
歴史[]
Java Edition pre-Classic | |||||
---|---|---|---|---|---|
Cave game tech test | Classicのライティングエンジンは簡素的なもので、明るいと暗いしかなかった。「太陽の光」は真上にしかなく、下にあるブロックは、距離に関係なく照らされた。透明ブロックは通過して下のブロックが明るくなった。光が当たらないブロックは、光源からの距離にかかわらず、同じ薄暗い影になっていた。 [要調査] | ||||
Java Edition Classic | |||||
2009年5月26日 | Notchは、溶岩のようなブロックを定義して、限られた範囲を明るくする光源の実現可能性について議論した。 | ||||
Java Edition Indev | |||||
0.31 | 20091223-1 | 明るさを9段階追加し、完全な昼間 Brightness is a linear scale and represents its value divided by 8; for example 8 is 100% (8⁄8) and 7 is 87.5% (7⁄8).. | |||
20100109 | There are now 16 degrees of brightness, with a maximum of 15 for full daylight and a minimum of 0 for almost complete darkness. | ||||
Sunlight now has a maximum light value of 15. | |||||
Minecraft Indev | 20100212-1 | Sunlight's light value steadily decreases from dusk, until it reaches a night-time minimum value of 4, representing moonlight. | |||
Java Edition Alpha | |||||
? | Lighting is no longer linear. | ||||
Each brightness value below 15 is 80% as bright as the one above it. For example, 14 is 80% as bright as 15, and 13 is 64% as bright as 15. | |||||
Sunlight now has its own light array and optimizations to make dawn and dusk smoother. During dusk, nighttime, and dawn, a "darkness" value is subtracted from the sky to create the effects of different times of day. | |||||
v1.2.0 | preview | Added the Nether, where light decreases by 10% each level, rather than the normal 20%. | |||
Hostile mobs could spawn in higher light levels at lower depths, using the formula 16 − (Layer / 8). At level 8 and below, mobs could spawn even in sunlight. | |||||
v1.2.1 | Notch reverted mob spawning to the original method, saying, "It was way too annoying. I have plans on what to do with this." | ||||
Java Edition Beta | |||||
1.3 | Smooth lighting engine added with the help of MrMessiah.[5] | ||||
1.8 | Pre-release | Implemented a new lighting engine. The lighting on a block is given a tint based on the most prominent source of light. | |||
Day/night cycles no longer require chunk updates and is a smooth transition. | |||||
Artificial light now gives a subtle "flicker." | |||||
Added void fog, which increases darkness at extreme depths. | |||||
Java Edition | |||||
1.4.2 | 12w39a | Dinnerbone fixed black patches in world generation,[6] and began overhauling the lighting systems such as changing the lighting of blocks to allow for directional lighting.[7][8] | |||
1.5 | 13w05a | Improved lighting interaction with stairs. | |||
13w06a | Several lighting optimizations. | ||||
13w09a | Added three different levels of smooth lighting: Off, Minimum, and Maximum. Minimum uses the old Smooth Lighting, and Maximum fixes a bug with stairs. | ||||
1.7.2 | 13w36a | Black patches in world generation and structure generation were made a lot less common.[9] | |||
1.8 | 14w30a | The lighting engine was significantly improved, removing most black spots present in world generation. | |||
14w34c | The void fog and particles were removed in order to improve performance. | ||||
1.14 | 18w43a | The lighting system has been rewritten. | |||
18w46a | Added support for directional opacity of blocks. | ||||
1.14.2 | pre4 | All light is now re-calculated the first time a world saved in a previous version is opened. | |||
Pocket Edition Alpha | |||||
v0.7.0 | Added toggleable smooth lighting. | ||||
v0.8.0 | build 2 | Removed the ability to toggle smooth lighting. | |||
Pocket Edition | |||||
1.1.0 | alpha 1.1.0.0 | Readded the Smooth Lighting toggle to Video options. |
問題点[]
「明るさ」に関する問題点は、バグトラッカーにて管理されている。問題点の報告はそちらで行ってほしい。
トリビア[]
- 敵性Mobは、明るくなっているべきだがそうなっていない場所に出現可能である。これはゲームプログラムがその場所を明るさレベル0として認識するためである。
- スムースライティングは、水の一番上や絵画では明らかにはならない。
- 不透明な材料からなる21×21ブロックの正方形の場所の下は、Mobが出現するのに充分な明るさになる。
- ゾンビやスケルトンが水中や樹木の下の低い明るさレベルの場所にいると、日中でも生存できる。
ギャラリー[]
脚注[]
- ↑ MC-139435
- ↑ MC-156880
- ↑ MC-1531
- ↑ “Minimum is the old smooth lighting method, maximum is the new one. Max is slower but prettier/fixes some issues with stairs.” – @Dinnerbone
- ↑ 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