FreeMinecraftModels モデル作成ノート
このページは、FreeMinecraftModels のコードベース上で現在確認できるモデル作成上の詳細をまとめたものです。意図的に保守的な内容になっており、すべての Blockbench ワークフロー設定ではなく、インポートと実行時の契約に焦点を当てています。
ソース形式
現在 FreeMinecraftModels が受け付ける形式:
- 編集可能なソースインポート用の
.bbmodelファイル - 実行時向けに整理されたモデルデータ用の
.fmmodelファイル
通常のインポート手順:
- モデルを
plugins/FreeMinecraftModels/importsに配置する /fmm reloadを実行する- FreeMinecraftModels にモデルを有効なモデルセットへ取り込ませ、生成されるリソースパックを再構築させる
フォルダーの役割
plugins/FreeMinecraftModels/imports
plugins/FreeMinecraftModels/models
plugins/FreeMinecraftModels/models_disabled
importsは、手動モデルインポートや公式パッケージのダウンロードを処理前に受け取る入口フォルダーですmodelsには有効化されているインストール済みモデル内容が入りますmodels_disabledには、ダウンロード済みまたはインストール済みで、現在は無効になっているパッケージ内容が入ります
モデル ID
- 実行時のモデル ID は、
.bbmodelまたは.fmmodel拡張子を除いたファイル名から決まります - コマンドや API 呼び出しがこの ID を解決するため、安定した一意のファイル名を使ってください
- Blockbench のアニメーション参照は名前ベースなので、モデル内で重複したり曖昧な名前を使うより、明確で分かりやすい命名の方が安全です
Blockbench 互換性
- FreeMinecraftModels はインポート時に Blockbench ファイルのバージョンを検出します
- 現在のインポーターには、Blockbench v5 より古いバージョン向けの互換分岐がまだ含まれています
- インポートログでモデル形式が FreeMinecraftModels と互換性がないと出た場合は、まず wiki やコマンドの問題ではなく、モデル形式の問題として扱ってください
実行時に意味を持つ bone 命名規則
現在の converter と skeleton パイプラインは、いくつかの命名規則を認識します:
hitbox- hitbox 生成用に予約されています
- 見た目用 bone として使うのではなく、モデルの hitbox を明確に定義するために使うべきです
tag_...- nametag 関連の仮想 bone として扱われます
h_...- head bone として扱われます
これらは単なるスタイル規則ではなく、変換処理と実行時挙動に影響します。
IK、null object、locator
現在のコードで確認できるサポート:
- IK コントローラーとしての Blockbench null object
- IK チェーン blueprint と実行時 IK 解決
- locator の解析
重要な実用上の制約:
- IK コントローラーの参照は名前ベースなので、モデル構造とアニメーションデータの間でコントローラー名を安定させる必要があります
1.21.4+ の出力分岐
Minecraft 1.21.4+ では、FreeMinecraftModels は item model definition ファイルを次の場所に生成します:
plugins/FreeMinecraftModels/output/FreeMinecraftModels/assets/freeminecraftmodels/items
それ以前のバージョンでは従来の item model パスが使われます。作成作業中に生成出力を確認する場合は、自分のサーバーバージョンに合った出力形式を見ているか確認してください。
Bedrock と描画経路に関するメモ
- Bedrock サポートは
sendCustomModelsToBedrockClientsと、その周辺の Floodgate/Geyser/resource-pack 経路に依存します - 対応バージョンの Java クライアントでは、
useDisplayEntitiesWhenPossibleが有効なら display entity レンダリングを利用できます - Java クライアントで正しく見えるモデルでも、Bedrock 経路でも安全とは限りません
実用的な作成アドバイス
- 実行時 ID になるため、ファイル名を安定させる
- Blockbench のアニメーション参照は名前依存なので、コントローラー名とアニメーション名を明確にする
- 予約された virtual bone 名を意図して使う
- Blockbench 内だけでなく、
/fmm reload後のインポート結果を確認する - 特に
1.21.4+では、対象の Minecraft 系列向けに生成されたパック内容を確認する
対象外
このページは次の保証を目的としていません:
- Blockbench UI の正確な操作手順
- 芸術面のワークフローの好み
- 古いローカル README に書かれている、過去の
.bbmodelの細かな癖すべて
こうした内容は、上で確認できる実行時契約よりも速く変化します。