明るさ

提供: Minecraft Wiki
移動先: 案内検索
スムースライティングの有効無効での違い

明かり(Light)はMinecraftにおいて可視性、Mob出現 (スポーン)樹木の成長、キノコの定着に影響を与える要素である。明かりは日光松明ジャック・オ・ランタン溶岩、使用中のかまど鍵のかかったチェストネザーポータルレッドストーンランプレッドストーンコンパレーターや他の物体によって供給される。

明かりの効果[編集 | ソースを編集]

注意してほしいが、明るさレベルはMobの出現や植物の生育の要素のうちの一つに過ぎない。詳細については各Mobのウィキページを参照してほしい。

レベル0∼3 レベル4∼7 レベル8 レベル9 レベル10 レベル11 レベル12 レベル13∼15
コウモリ 出現 (高度:0∼62) 10/20∼11/3は、出現 (高度:0∼62) 中立
ブレイズ ネザー砦に出現 敵対
ウィザースケルトン ネザー砦に出現 敵対
シルバーフィッシュ
[備考 1]
(オーバーワールドでは出現) シルバーフィッシュ入りのブロックからのみ出現
スライム 湿原バイオームに出現 (高度:51∼69) 任意のバイオームの特定チャンクに出現 (高度:0∼40)
ゾンビ
スケルトン
出現
(オーバーワールドで)
敵対 日光下で燃える
クリーパー
ウィッチ
出現
(オーバーワールドで)
敵対
クモ
洞窟グモ
出現
(オーバーワールドで)
敵対 挑発されなければ中立
エンダーマン 出現
(オーバーワールド、エンドで)
挑発されなければ中立
環境音 発現 発生せず
雪 (層状)[備考 2] 形成 形成して解凍 解凍
キノコ 繁殖 菌糸ポドゾル上以外では
アイテム化
[備考 3] 空からの明るさレベル8以上の光を受けうる場所以外ではアイテム化[備考 4] 植わったまま
苗木
小麦
カボチャ
スイカ
ニンジン
ジャガイモ
ビートルート[備考 5]
空からの明るさレベル8以上の光を受けうる場所以外ではアイテム化[備考 4] 育たない 育つ
草ブロック菌糸ブロック源[備考 6] 不透明・半透明ブロックが上にあると土に戻る 伝播せず 近隣の土へと伝播 (後述)
草ブロック菌糸の土への伝播[備考 6] 広がらない 広がる (不透明・半透明ブロックが上になければ)
  1. この制約はモンスタースポナーからの出現にのみ適用される。シルバーフィッシュ入りのブロック(シルバーフィッシュが偽装した石系ブロック) は明るさレベルの制約を受けない。
  2. 日光は雪や氷には影響を与えない。後述の明るさレベルは、空気がそのレベルであればブロックに影響を与えるという意味である。
  3. 花ブロックそのものの明るさレベルが適用され、植わってる土台のブロックではない。
  4. a b Minecraft 1.7以降のバグで、花、苗木、作物は明るさレベルに関係なく植わったままとなる。このバグは作物については14w21aで修正された (花、苗木、スイカ、カボチャ以外)。ただし14w21aで、作物は夜間月光に直接あたらなければアイテム化する別のバグが発生した。
  5. 育つには植物の上のブロックに適切な明るさが必要である。カボチャやスイカの実の形成では、実が出来る場所ではなく、茎の上の明るさがチェックされる。アイテム化の際は植物のブロック自体の明るさレベルが適用される。
  6. a b 明るさレベルはそのブロックの上の空気ブロックに適用される。上にある「半透過」ブロック、例えばは最低でも明るさレベルを3、減衰させる (通常の伝播規則での減衰量より 2 大きい)。

トリビア: Alpha 1.2.0で行われたハロウィーンアップデートで、

  • Halloween Update、バージョン Alpha 1.2.0までは、低い場所では明るさのレベルが条件より高くてもスポーンするようになった。16 - (高さ ÷ 8) の公式を使い算出されていた。高さが8以下の場所では日光が差し込んでいようとMobが出現する可能性があった。NotchがAlpha 1.2.1でMobのスポーン方法を元に戻したとき、「どうするか非常に悩んだ。この件を将来どうするかについては案がある」と発言した。

光源ブロック[編集 | ソースを編集]

様々な明るさレベルの光を放つブロックの比較

以下の明るさの値はブロック自体のものである。

アイコン ブロック 明るさレベル

(日光) 15
Beacon.png ビーコン
End Portal.png エンドポータルゲート
Fire.png
Glowstone (Block).png グロウストーン
Jack-O-Lantern.png ジャック・オ・ランタン
Lava.png 溶岩
Locked Chest.png 鍵のかかったチェスト
Redstone Lamp (Active).png レッドストーンランプ (作動時)
Torch.png 松明 14
Furnace (Active).png かまど (作動時) 13



(降雨降雪中の日光) 12
Glowing Obsidian.png Glowing Obsidian
Pocket Editionのみ
Portal.png ネザーポータルゲート 11

(雷雨中の日光) 10[備考 1]
Redstone (Ore).png レッドストーン鉱石 (接触中) 9
Redstone (Repeater, Active).png レッドストーンリピーター (作動中)
Ender Chest.png エンダーチェスト 7
Redstone (Torch, Active).png レッドストーントーチ (作動中)

(月光) 4
Brewing Stand.png 醸造台 1
Brown Mushroom.png 茶キノコ
Dragon Egg.png ドラゴンの卵
End Portal Frame.png エンドポータルブロック
  1. 雷雨の間は、実明るさレベルが5なので敵性Mobの出現が可能となる。

トリビア:

  • Minecraft のソースコードでは、3番目の列の数値は浮動小数点数を用いて定義されている。奇妙な偶然で、これら浮動小数点数は1/16の倍数になっているが、整数の明るさ値にする際に15倍されている。これが意味するところは、0/16と1/16 (0.0と0.0625) はいずれも整数の明るさ値では0となる。

明るさの広がり[編集 | ソースを編集]

光源ブロックからの光は、光源から1メートル (1ブロック) 離れるごとに1レベルづつ減少する。これは南北、東西、上下の3方向について適用されることに注意したい。この法則は敵性Mobを出現させないためには重要だ。松明 (明るさレベル14) が床から2ブロック上の壁に設置されているとき、壁から1ブロック離れた場所の床は明るさレベル11になる (つまり14から、下へ2つ引き、水平に1つ引く)。壁の松明が床のすぐ上に置かれれば、壁から1ブロック離れた場所の床の明るさレベルは13になる (つまり14から下へ0引き、水平に1引く)。

明かりは斜め方向には「マンハッタン距離」、あるいは各軸の距離の合計の分減少する。これが意味するところは、松明 (明るさレベル14) が床に置かれているとき、東西南北の隣のブロックの床は13になるが、斜めは4方向とも12になる (例えば14から南へ1引き、東へ1引く)。この法則だと、光源からの明るさは床に沿って菱形状になる。明るさは3つの軸全ての方向に対して減少することを忘れずに。つまり壁の松明 (明るさレベル14) が床から1ブロック高いところに設置されていると、床の斜め1ブロック隣の部分は明るさレベル11になる (例えば14から南へ1引き、東へ1引き、下へ1引く)。

オーバーワールドで敵性Mobの出現を抑制するのに必要な光源の最小の数を見出すのはとても難しい。明かりは3軸全ての方向で減少するためである。完全に平らな平原や床では、最も低コストかつ簡単な方法は、松明を床に菱形に、斜めに5ブロックづつ空けて並べることである。

この図で、黄色い背景が床に置かれた松明を、数字が床ブロックの上の明るさレベルを示す。8より小さな数字が無い、つまり敵性Mobが出現できないことを意味するのに注意してほしい。緑は松明間の距離を明らかにする以上の意味は無い。


13 12 11 10 9 8 9 10 11 12 13
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
13 12 11 10 9 8

ただし、屋外では、地表の高さが1ブロックであっても変化すれば、明るさも変わり、異なる配置にする必要がある。加えて屋内では装飾のために光源を壁や天井に配置したいと思うことがあるだろう。Mobの出現時の判定には床面の明るさレベルが用いられるが、この場合床までの距離で明るさレベルは減衰することになる。

明かりを透すブロック[編集 | ソースを編集]

光が氷にどのような影響を及ぼすかの画像。クリックで拡大すると、氷から水になる様子が見られる。

固体ブロックは明かりの拡散を妨げる。それに対しガラスポータルの内側は明るさレベルに対する効果は無い。

それ以外の不透明なブロックは通過する明かりを減衰させる。下の表の数値は、そのブロックを明かりが通過した際に減少させる明るさレベルの数値になっている。光源からの光は1スクエア毎の距離につき1レベルづつ明るさが減ってゆくが、ブロックによっては通過時にそれ以上を減らす。

アイコン ブロック 減少量
Piston.png ピストン本体 6
Water.png 3
Ice.png
Cobblestone Slab.png ハーフブロック 2
Cobblestone Stairs.png 階段
Chest.png チェスト 1

スムースライティング[編集 | ソースを編集]

(ブロックの表面に当たる明かりを補完するアンビエントオクルージョンを含んだ) スムースライティングは、MrMessiahの助力を得てBeta 1.3で追加されたライティングエンジンである[1]。このライティングエンジンはデフォルトで有効になっており、設定のグラフィック設定で無効化できる。

エンジンには、混合光による半現実的な影と光源からの光の広がりが加えられた。この追加により内角が暗くなり、狭い場所では結果としてより暗くなった。Beta 1.3以前は、MrMessiah製作のBetterLightというModでゲームを書き換えることにより、この機能を使用することができた[2]

バージョン1.5で、スムースライティングの設定に "Maximum" が追加された。これは階段での処理を修正するものである。しかしこれはパフォーマンスを少し犠牲にするために設定で切り替えることが出来るものになっている。以前のスムースライティングは "Minimum" に残されている。

動画[編集 | ソースを編集]

歴史[編集 | ソースを編集]

Minecraft では、ブロックを照らすために多種多様な手法を用いてきた。Classic版では、単純にブロックが空に対して露出しているかどうかのチェックだけを行っていた。Indev版ではより複雑になり、最短距離にある日光や光源となるブロックからの距離が考慮されている。Alpha版ではIndev版を改良し、日光とブロックからの明かりを別々に計算し、異なった明るさのレベルが使用されるものとなっている。初期のBeta版アップデートでは、スムースライティングのオプションを加えることでAlpha版のものを改良している。後期のBeta版アップデートでは、より細かく効率的になるようにライティングエンジン全体を再び書き直し、明るさの違いによる推移が滑らかになっている。

Classic[編集 | ソースを編集]

Classic版での明かり

Classic版では、“日光”はマップの上端から下にあるブロックを照らしていた。また日光は透明なブロックを透過し、その下のブロックを照らしていた。明かりを受けていないブロックは、どれだけ光源から離れても同レベルの薄暗さであった。

Indev/Infdev[編集 | ソースを編集]

IndevInfdevでは、最大値に日中の明るさのレベル15、最小値にほぼ暗闇に近いレベル0を持つ、16段階の明るさがある。明かりは等分目盛であり、15で割った明るさの値を表現している。例として、明るさのレベル15は100%(1515)の明るさを表現し、レベル13は86.67%(1315)の明るさを表現している。

光源となるブロックはそれぞれに固有の明るさのレベルを持ち、光源から1ブロック離れるごとに明るさのレベルが1ずつ減少する。隣接するブロックがより強い明るさのレベルを持つ場合、レベルの減少は取り消される。このプロセスは、ブロックの明るさのレベルが変化するたびに繰り返される。

日中、日光の明るさのレベルは最大の15である。夕暮れには、夜間の月光による明るさである最小値のレベル4に達するまで、明るさのレベルが徐々に減少する。日光はマップの上端から発せられるが、その“光源”からの距離で明るさは減少しない。日光に照らされているブロックは、どの高さや深さでも明るさは同じである。

Minecraft - Pocket Edition は、現時点ではスムースライティングは実装されていない。

Alpha ~ Beta 1.2_02[編集 | ソースを編集]

Alpha版からBeta 1.3になるまでの明かりの挙動は、目盛の違いや線形でないことを除きIndevやInfdevと同じである。

日光は最大値の明るさであるレベル15をもたらす。レベルが1つ下がるごとに、1つ上のレベルの80%の明るさとなる。例えば、レベル14なら日光の80%の明るさとなり、レベル13は日光の64%の明るさとなる。これは明るさのレベルが0であっても、最大値の3.5%(=0.815×100%)の明るさであることを意味する。

Alpha版での日光は、それ自体の明るさが配列されていて、夜明けや夕暮れがより滑らかになるように裏で最適化される。空からの光量は、ブロックの配置や削除以外に再計算の必要が全くないよう、ブロックの光量と一緒に前もって計算され保存される。夕暮れ、夜、夜明けの間、時間帯の違いによる効果を設定するため、"暗闇"のレベルが空から減らされる。

ネザー(The Nether)において、明かりの各レベルにおける減少の割合は、通常の20%ではなく10%である。これはネザーでは完全な暗闇にならないことを意味する。最小の明るさレベルにおいても20.59%となり、通常世界の明るさのレベル8に相当する薄暗い状態となっている。

Beta 1.3 ~ Beta 1.7.3[編集 | ソースを編集]

Beta 1.3からBeta 1.7.3までの明かりの挙動はAlpha版と同様であったが、スムースライティングを適用することで著しく最適化された。

Beta 1.8 ~ 1.4.7[編集 | ソースを編集]

Beta 1.8 pre-releaseでの日中の明かりのスペクトル。X軸は閉塞する光源の露出 (すなわち松明) を表し、Y軸は日光の露出を表す。
Beta 1.8 pre-releaseでの夜間の明かりのスペクトル。Y軸はわずかに青く色付き、全ての月光の露出を表す。

Beta 1.8において、新しい光源処理エンジンが実装された。この新しいエンジン変更点、追加点は以下の通りであった。

  • ある場所での明かりの色は、ブロックを照らす光源のタイプに左右される。月光はほのかに青く、松明と溶岩はやや赤みがかっていて、完全な暗闇と日光は以前と同じである。
  • 明るさの変更が即座に行われ、時間帯により段階的に変わる明るさや降雨状態の明るさのレベルをチャンクの明るさを1つずつ個別に更新することなく、滑らかに変更することができる。
  • この新しい明るさの変更方法を使うことにより、日光でない明かりがわずかに明滅する。これは見た目だけであり、ゲーム内容に全く影響を及ぼさない。
  • 日の入りは従来より強烈で現実的になり、プレイヤーが背を向けると薄暗く見えるようになった。
  • 最深部では黒い霧が立ち込める。岩盤層では、松明は11マス離れると視認できなくなる。この効果は太陽が昇っているかどうかにかかわらず、開けた空が近ければ抑制される (言い換えると、プレイヤーの立っている場所が日光に照らされるのであれば抑制される)。地表までの縦穴を掘れば、岩盤層であっても遠くを見ることが出来るだろう。
  • 奈落内部では、光源処理はClassic版に似たものになる。光源からの距離にかかわらず、奈落内の物体には一定の明るさが残る。これは光源からの距離によらず、奈落への開口部直下で受けた明るさが残り続ける。スペースの特定の"列"の明るさは、岩盤層の底の明るさレベル0に基づいている。これは全てのエンティティやパーティクルにも適用される。
  • 加えて、日中であるかどうかにかかわらず、奈落の縦穴の下で直射日光を受けると奈落の霧が取り除かれる。

1.5[編集 | ソースを編集]

バージョン1.5では、幾つかの光源処理の最適化が行われた。例えばよりリアルな明かりや、ハーフブロックや階段などへの光源処理の修正が含まれている。だが、かまどの火は全ての方向へと光を放ち、ワールド生成時の (がけ下等の) 暗部は修正されなかった。またスムースライティングが「オフ」「Minumum」「Maximun」の3つの段階に切り替え可能となった。

将来[編集 | ソースを編集]

Snapshot 12w39aで、Dinnerboneはワールド生成時に発生する暗部の問題を修正し[3]、光源ブロックへの指向性の付与などを含む、光源システムの改修を開始した[4][5]

ワールド生成時の問題は仮の修正が行われた[6]が、それ以外の変更についてはパフォーマンスに難があったので撤回されている[7][8]

トリビア[編集 | ソースを編集]

  • 敵性Mobは、明るくなっているべきだがそうなっていない場所に出現可能である。これはゲームプログラムがその場所を明るさレベル0として認識するためである。
  • スムースライティングは、の一番上や絵画では明らかにはならない。
  • 不透明な材料からなる21×21ブロックの正方形の場所の下は、Mobが出現するのに充分な明るさになる。
  • ゾンビスケルトン水中樹木の下の低い明るさレベルの場所にいると、日中でも生存できる。

ギャラリー[編集 | ソースを編集]

脚注[編集 | ソースを編集]