コンテンツにスキップ

3Dアーマー & テクスチャに関するレンダリングの問題

他のMODで追加された鎧は殆どEpicFightと互換性がありません。 これはEpic Fightがエンティティだけでなく、鎧にも独自のモデルを適用する事が原因です。 EpicFightはカスタムアーマーに基づいたモデル生成アルゴリズムが備わっていますが、その機能により鎧が異常に見える問題が発生することもあります。 このページは、ソースコードを変更せずとも鎧を正常に表示させるためのガイドです (主にModPack作成者向けの内容になります) それでは修正パッチの作成手順を一つずつ見ていきましょう。


必要なツール:


💡 ブロックベンチで防具のモデルを再作成する (必要な場合のみ)

※パッチを適用したい防具のモデルファイルが手元にある場合、ブロックベンチで再作成する必要はありません

上記のツールをダウンロードしてインストールが完了したら、パッチを当てたい防具があるMODからテクスチャを抽出し、そこから可能な限り正確にモデルを再作成します。 効率的な方法を一つご紹介します。通常であれば目的のMODからテクスチャを取得したのち、ゲーム内のアーマーを見ながらブロックベンチで再作成する事になると思います。

例:


archers_armor
上記はDungeon Gear Modに含まれるアーマーのテクスチャファイルです。 Blockbenchだけでこの防具のモデルを再作成する方法を解説します。
1. 「Generic Model」で作成してください 、後でブレンダーにエクスポートします。 モデルには アーチャーアーマーなど、後で認識しやすい名前を付けることをお勧めします。

showcase55
2. バニラモデルをインポートできるように、「CEM Template Loader 」がインストールされているか確認してください (ウィンドウ上部のFileからプラグインをクリックすると開く管理画面で確認できます。CemTemplate Loaderが見つからない場合、管理画面の利用可能から「Cem Template Loader」を探してインストールしてください)
3. CEM Template Loaderを使用して、全てのバニラアーマーをインポートしてください。 (ウィンドウ上部ToolからLoad CEM Templateにカーソル合わせ、Unsupported EntitiesをクリックするとCEM Template Loaderが開きます。Armor[Layer1] とArmor[Layer2] を選択しLoad into current projectにチェックを入れてLoadボタンをクリックするとインポートできます)

showcase66
4. テクスチャをBlockbenchへドラッグ&ドロップしてインポートし、プロジェクトのテクスチャサイズをテクスチャと同じものに変更します。下の写真を参考にして下さい、緑色の部分がテクスチャのサイズです。 (ヒント: 各防具部品グループにドラッグ&ドロップすることで、モデルにテクスチャを適用できます)

showcase77
5. 次に、テクスチャが正しい順序になり元のモデルのように見えるまで修正します。
6. テクスチャを整理したら「ctrl + A」を押し、すべてのテクスチャが使用されていることを確認します。 そこでテクスチャに未使用の部分が残っている場合、アーマーにパーツを追加する必要があるということになります。 画像の例の場合、アーチャーアーマーは帽子に追加が必要なパーツがあるため、Cubeを追加しゲーム内のアーマーとテクスチャサイズに基づいて、その回転、スケール、位置を推測する必要があります。



7. ご覧のように、数回の変更で元のモデルのような外観になりました。これでパッチを作成するための準備が整いました。

image
8. アーマーファイルをエクスポートします。必ずOBJ Mode(.obj)でエクスポートしてください(ブレンダーは.obj形式のファイルに対応しています)


💡 ウェイトペイントと頂点の修正

※Blenderの使い方については、[[Blenderガイド|Blenderの基本とコツ]] を参照してください。

  1. Blender 2.79を開きます。画面上部の 「ファイル」から「開く」を選択し、事前にダウンロードしたBlender Armor Filesのフォルダを開きます。次にパッチを適用したい部位(ヘルメット、チェスト、レギンス、ブーツ)を一つ選択してください(ここでファイルを開く前に画面左下の「Uiをロード」のチェックを外しておくことをオススメします)画面右上の「blenderファイルを開く」をクリックすると、選択した部位の形によく似たモデルが表示されるはずです。続けてblockbenchで作成したモデルをインポートします。画面上部の「ファイル」から、インポート/Wavefront (.obj)をクリックし、先ほどエクスポートした.objファイルを開いてください。
  2. 開いたBlender Armor Filesの部位に合わせて作成します。 ここでは頭の作成を例に解説していきます。 インポートしたモデルから、ヘルメット部分を構成するcubeを全て選択してください この画像の場合、"head "と "headback.001 "がヘルメットを構成するパーツなので、両方を選択(shift押しながら右クリック)し、"ctrl + j "(または画面左にある▽編集から結合をクリック)ですべてのパーツを1つのモデルに結合します (ヒント:パーツの結合するには画面左下のモードがオブジェクトモードである必要があります。画面が見づらい場合はマウスホイール長押し+カーソル移動でカメラ角度を調整、shift+マウスホイール長押し+カーソル移動でカメラの位置が調整できます。またcube同士が重なって選択できない場合は、画面下部にある白い球体のアイコンから「ワイヤーフレーム」を選択すると重なったcubeが操作できます).
    これは同時選択した時の画像です
    image
    これは結合後の画像です (結合したパーツは、パッチをあてる鎧の名前等に自由に変更可能です。例ではこの後に「helmet」という名前に変更しました).
    image
    (これらのスクリーンショットでは他の鎧のパーツは非表示になっています。画面右にあるキューブの一覧から目のアイコンをクリックすると、不要なパーツを非表示にできます)
  3. 次にモデルをX方向に-90°回転させる必要があります(この工程を飛ばすと、ゲーム内で鎧を確認した時、鎧が前方に90°傾いているようにレンダリングされてしまいます)オブジェクトモードである事を確認し "alt + r" & _"alt + g"_を押してモデルを回転させます(ヒント:Pcの環境によっては「alt+r」を押すとGeforceのオーバーレイが起動し、正しい操作が行えないことがあります。その場合はタスクバーからGeforce: experienceを呼び出し、設定で「ゲーム内のオーバーレイ」を無効にしてください)
  4. モデルを回転させると全体的に前方向にズレた位置に移動すると思われます。次はこのズレを修正しましょう。左下のモード選択で「編集モード」に変更し、モデルの位置を修正してください。(ヒント:赤緑青の矢印をドラッグするとモデルを動かせます。ctrlを押しながら矢印をドラッグすると、より細かい位置調整が行えます)
  5. モデルの回転を修正したら次はアーマチュアの設定を行います。ヘルメットのモデルとアーマチュア(画面中央にあるボーンのようなもの)を同時選択してください。次にオブジェクトモードに変更して画面左下の「オブジェクト」から親/空のグループ/空のグループを選択してください。 これでモデルとアーマチュアのペアレント設定が完了しました。次はウェイトペイントを行っていきます。 (ヒント: アーマチュアもモデルと同様にShift+右クリックで同時選択できます。 オブジェクトモードであることを確認してから同時選択してください) image image
  6. 次の工程ではヘルメットが頭の動きを追従するための設定を行います。画面右上でヘルメットのモデルを選択したら、モード選択で「ウェイトペイント」に切り替えてください(また、画面右上のビューでヘルメットモデルの上にCubeモデルが残っている場合、既に不要なため右クリックで削除を選択してください) image
  7. ウェイトペイントを適用するには、下図のように「頂点を表示」をクリックします。またワイヤーフレームモードが有効になっていることを確認してください Showcase89
  8. 画面左上のブラシから重量塗料を適用するブラシ(種類によってウェイト適用範囲などが違います)を選択することができますが、「Add」または「Subtract」以外は殆ど使用しません。 image
  9. 画面右上のビューからヘルメットを選択し、その少し下にある逆三角のアイコンをクリックして表示される一覧から「head」を選択してください。 Showcase99
  10. モデル全体を塗りつぶすようにウェイトペイントを行ってください。 最終的には写真のような状態になっていると思います。 image
  11. ヘルメットのペアレント設定とウェイトペイントがうまくいっているか確認してみましょう。アーマチュアを選択してポーズモードに切り替えてください。頭のボーンを選択し回転させることで確認できます。 モデルが頭のボーンに追従して動く場合は成功です。そうでない場合はもう一度手順を見直して下さい。 2023-02-10-16-20-11

💡 モデルを出力する

それでは、作業内容をエクスポートしてパッチを適用しましょう。 しかしどうやって出力するのでしょうか? やる事はとてもシンプルです。

  1. もし非表示にしたままの不要なパーツがモデルに残っている場合それらは全て削除し、出力したいパーツのみ残っていることを確認して下さい。 (ヒント:一度に2つの部位の鎧を出力する事はできません。必ず一部位ずつ作業してください)
    image
  2. 不要なパーツの削除が完了したら、ファイル/エクスポート/Animated Minecraft Model (.json)を選択してください(Animated Minecraft Model が見つからない場合は、本ページ上部にある「必要なツール:」のセクションから「Blender Json Exporter」をダウンロードしてください。Blenderへの導入方法はダウンロードページに記載されています)
    image
  3. 画面左下の「▽Export to Json for Minecraft」の欄で、「Export Mesh」のみチェックを入れてください(下記の写真を参考にしてください)
    image
  4. Jsonファイルの名前は、適用したい鎧のレジストリ名(アイテムID)と一致している必要があります(下記の写真を参考に命名してください)
    image
  5. 「Export to Json Minecraft 」をクリックするとjsonファイルが出力されます。
    image
  6. 次にminecraftフォルダに移動します。resourcepackフォルダ内で新しいフォルダを作成してください。 作成したフォルダの中に、以下のようなpack.mcmetaファイルを作成してください。

pack.mcmetaファイルの作成

まず通常の txt ファイルを作成し 、次にファイル名をpack.mcmeta に変更してください(エクスプローラーの設定で「ファイル名拡張子」にチェックが入っている事を確認してください)

リネームが終わったらファイルを開き、以下のコードを書き加えてください。

{
    "pack":{
        "pack_format":9,
        "description":"パックについての簡単な説明を記入"
        }
}

pack_format の設定値

バージョン 設定値
1.16.2–1.16.5 6
1.17.x 7
1.18.2 9

🗂フォルダパスの作成

以下の名前で一連のフォルダを作成してください。 すべてのjsonファイルは、最下層のフォルダ(armorフォルダ)に格納する必要があります。

assets -> "modid" -> animmodels -> armor -> "registryname".json (エクスポートしたjsonファイルをここに格納します)

🎉 おめでとうございます、アーマーのパッチ適用に成功しました。🎉

ここで解説した手順が難しい、理解できない場合は次のような簡易の解決方法もあります: カスタム3Dアーマーの不具合解決策 ※この簡易な方法で修正されない場合、このページで解説した手順が必要になります。