置き換えているアーマーテクスチャは、あなたが思っているものではない
アーマーは素材ごとに分割されたレイヤー構造になっているため、間違ったファイルを塗り替えてもゲーム内ではパックが反映されていないように見えます。
アーマーはテクスチャパックの最初のプロジェクトとして最もよく選ばれる題材であり、最初の失敗例としても最もよくあるものです。チェストプレートを塗り替えてパックを読み込んでも何も変わらない——それは、あなたが編集したファイルが、そのパーツに対してゲームが読み込むファイルではないからです。
アーマーの各素材はそれぞれ別のファイル
単一の armor.png というものは存在しません。ダイヤモンド、鉄、金、チェインメイル、革、ネザライトはそれぞれ独自のレイヤーファイルを持ち、各レイヤーがそれぞれ独立した画像です。フルセットは1枚のテクスチャではなく、スロットとレイヤーごとに分割された小さなファイル群なのです。
実用上の帰結:ダイヤモンドのアーマーをリカラーするパックは、鉄には何の影響も与えません。「すべてのアーマーをXのように見せる」のが目的なら、あなたは素材ごとに1ファイル、合計で複数のファイルを編集することになります。
レイヤー分割と、それが重要な理由
アーマーは2つのパスで描画されます:
| レイヤー | 対象 |
|---|---|
| レイヤー1 | ヘルメット、チェストプレート、ブーツ — 身体を覆うパーツ |
| レイヤー2 | レギンス、および他のパーツのオーバーレイパス |
レギンスがレイヤー2にあるのは、レイヤー1とZファイティングを起こさずに身体の上に描画する必要があるからです。レイヤー1を塗ってレギンスが変わらないのはなぜだと疑問に思ったなら、あなたはその分割を苦労して発見したことになります。
エリトラとトリムの罠
エリトラはファイルの意味ではアーマーではありません — 独自のテクスチャを持ち、アーマーの素材を継承しません。チェストプレートをリテクスチャするパックは、エリトラには手を付けません。
トリムはさらに厄介です。トリムのパターンとトリムの素材は別々のレジストリであり、トリムはベースのアーマーテクスチャの上にパレットシフトされたオーバーレイとして描画されます。トリムをアーマーファイルに塗り込むことはできません。ゲームが実行時に合成するのです。トリムの下のアーマーをリカラーしても、変わるのはベースであってトリムではありません。
JavaとBedrockはここが異なる
Javaは assets/minecraft/textures/models/armor/ 以下の固定パスから、素材名とレイヤー名でアーマーレイヤーを読み込みます。Bedrockは独自のレイアウトと独自の命名を使用しており、一方向けに作られたパックはもう一方では読み込まれません。両方をターゲットにするなら、2つのパックを作ることになります。
実際のサイズで作業する
アーマーテクスチャは16×16ではありません。より大きく、展開されたモデルとしてレイアウトされています — 頭、胴体、腕、脚が1枚の画像内の固定された領域に配置されています。16×16の正方形を塗って拡大すると、にじんだ結果になります。なぜなら、1つの領域を展開図全体に引き伸ばしているからです。
信頼できるアプローチは、バニラのファイルそのものから、ネイティブサイズのまま始めて、その上に描くことです。そうすれば領域が揃い、アルファチャンネルも維持され、出力パスがゲームが置き換えるものと一致します。
実際のバニラテクスチャをネイティブサイズで上書きし、Texture Makerでパックをダウンロードしましょう。