MC Toolkit

ガイド / 建築とリソース

Minecraftのブロックに色を合わせるのは見た目より難しい

2つのブロックはRGBでは同じに見えても、壁に置くと全く違って見えることがあります。それはゲームがレンダリングするすべての面にシェーディングを施しているからです。

平均色がターゲットに最も近いブロックを選んでも、たいていは間違った選択になります。Minecraftはブロックをテクスチャの平均色として描画しているのではなく、そのテクスチャに面ごとの明るさを掛け、さらにその位置のライトレベルを掛けています。スクリーンショットから抽出した色はすでにそのシェーディングの結果であるため、それをそのまま最近色検索に投入すると、どのブロックも実際には表示しない値と照合することになります。

平均RGBが失敗する理由

平均RGBは3つのチャンネルを等しく重要視し、線形に変化するものとして扱います。どちらも正しくありません。人間の視覚は青の差よりも緑の差にはるかに敏感であり、同じ数値の色差でも暗い色調では明るい色調よりもはるかに大きく感じられます。2つのブロックがターゲットから同じRGB距離にあっても、壁に置けば全く似て見えないことがあります。

CIELABはまさにその問題を解決するために作られました。Lab空間での等しい数値距離は、おおよそ等しい知覚差に対応します。Labでマッチングすることが、パレットツールが単に16進コードを共有するだけのブロックではなく、本当に正しい色として認識されるブロックを提案できる理由です。

テクスチャは1つの色ではない

ブロックのテクスチャはピクセルの正方形であり、そのほとんどは平坦ではありません。16×16のテクスチャには256ピクセルが含まれ、ノイズの多い石やまだらのある葉のテクスチャは広い範囲の色調に広がっています。それを単一の平均に還元すると分散が失われます。分散こそがモザイクが滑らかに見えるか斑点状に見えるかを決める要素です。パレットマッチャーは実際のテクスチャファイルに対して測定するため、報告される距離はブロックが実際に含むものを反映します。

JavaとBedrockはここで分岐する

2つのエディションは同一のテクスチャを搭載しておらず、同じようにはシェーディングしません。Javaは独自のパイプラインを通じて方向性のある面の明るさとバイオームの色合いを適用します。Bedrockは色合いと一部のブロックの色を異なる方法で処理します。一方のエディションで完全にマッチするパレットが、もう一方では目に見えてずれることがあり、特に草、葉、水で顕著です。実際にブロックを設置するエディションでパレットを構築してください。

画像からモザイクへ

モザイクはグリッドであり、各セルが1つのブロックになります。そこから2つのことが導かれます。第一に、画像はマッチングの前にグリッドサイズにダウンサンプリングする必要があり、後ではいけません。フル解像度でマッチングしてから縮小すると、もはや存在しないディテールのために選ばれたパレットが生成されます。第二に、出力は.mcfunctionであるため、建築全体は手作業ではなくコマンドで設置されます。コマンド数は画像のピクセル数ではなく、セル数に比例して増加します。

透明度の罠

部分的アルファを持つピクセルには、単一のブロックで対応するものがありません。それらが空気になるのか、ガラスの変種になるのか、最も近い不透明マッチになるのかを事前に決めてください。マッチャーはあなたの意図を推測できないため、そうしなければ最も近い無地の色に折り込まれてしまいます。

画像をブロックモザイクに変換するには、すぐに使える.mcfunctionを使うか、任意の色に最も近いバニラブロックをPixel Art & Block Paletteで見つけてください。

Pixel Art & Block Palette →

その他のガイド

すべて見る →

ほかのマインクラフトツールをお探しですか?

ブラウザだけで動くジェネレーター・ビューア・変換ツールの数々。すべて無料です。