BMD ファイル形式とは?
.bmd は、GameCube および Wii のファーストパーティ製ゲーム開発を支えた内部フレームワーク «JSYSTEM» の一部である «J3DGraph» ライブラリ内で使用される、Nintendo 独自のバイナリ 3D モデル形式です。ジオメトリ、スケルトン、マテリアル、および埋め込みテクスチャを含む完全な 3D モデルを単一のファイルに保存します。
ファイルは 8 バイトの ASCII マジック J3D2bmd3 で始まります。J3D は J3DGraph ライブラリ名、2 はライブラリのリビジョン 2、bmd は形式のタイプ、3 は形式のリビジョン 3 を表します。オフセット 8 には 32 ビットのビッグエンディアン形式のファイルサイズが続き、オフセット 12 にはチャンク数が続きます。ファイルは、名前付きのバイナリセクションに分割されています:
INF1- シーングラフとノード階層VTX1- 頂点属性(座標、法線、UV、頂点カラー)EVP1/DRW1- エンベロープスキニングのウェイトと描画マトリックス表JNT1- ジョイントとスケルトンの定義SHP1- ジオメトリ形状とドローコールMAT3- TEV シェーダーステージ設定とテクスチャ参照を含むマテリアルTEX1- BTI 形式の埋め込みテクスチャ
密接に関連する .bdl 形式は、事前コンパイルされた GameCube GX ハードウェアディスプレイリストの MDL3 セクションを追加したものです。.bmd を使用している主なゲームには、«Super Mario Sunshine»、«Mario Kart: Double Dash!!»、«Pikmin» などがあります。コミュニティツールの SuperBMD や J3D-Model-Viewer を使用することで、保存やモッディング(改造)目的のモデル抽出や再インポートが可能になります。Dolphin Emulator は .bmd アセットをネイティブにレンダリングします。
セキュリティと安全性
リスク: LOWBMD はパッシブな 3D モデルデータファイルです。実行可能コードは含まれていません。エミュレーションに使用される ROM に埋め込まれている場合を除き、リスクは無視できる程度です。その場合、標準的なエミュレーション関連の法的考慮事項が適用されます(エミュレータの使用には、オリジナルのゲームディスクを所有していることが法的ベースラインとなります)。
形式の詳細
概要- MU Online / WEBZEN BMD (Battle Motion Data) - WEBZEN の MMORPG «MU Online» は 3D モデルデータに .bmd を使用していますが、Nintendo J3D BMD とは完全に無関係なバイナリ形式です。
- Blackmagic Design BMD - 一部の Blackmagic Design アプリケーションがプロジェクト/設定データに .bmd を使用する場合がありますが、ゲームモデルとは無関係です。
J3D2bmd3 です。内訳:J3D = J3DGraph ライブラリ名、2 = ライブラリのリビジョン 2、bmd = 形式タイプ、3 = 形式のリビジョン 3。関連する BDL 形式では J3D2bdl4(バイナリディスプレイリスト、リビジョン 4)が使用されます。オフセット 8 に 32 ビットのビッグエンディアン整数としてファイルサイズが続き、オフセット 12 にチャンク数(同じくビッグエンディアン)が続きます。
BMD ファイルを開くプログラム
技術的詳細
詳細仕様| マジックバイト | オフセット 0 に `4A 33 44 32 62 6D 64 33` ("J3D2bmd3") |
| バイト順序 | ビッグエンディアン (GameCube および Wii の PowerPC アーキテクチャ) |
| コンテナ | JSYSTEM 名前付きバイナリチャンク形式 (J3DGraph ライブラリ) |
| ライブラリ / 形式バージョン | J3DGraph リビジョン 2、BMD 形式リビジョン 3(8 バイトのマジック文字列にエンコード) |
| ファイルヘッダー | オフセット 0, 8, 12 に 8 バイトのマジック + 4 バイトのファイルサイズ (ビッグエンディアン) + 4 バイトのチャンク数 (ビッグエンディアン) |
| 主要セクション | `INF1` (シーングラフ)、`VTX1` (頂点)、`JNT1` (スケルトン)、`SHP1` (形状)、`MAT3` (マテリアル)、`TEX1` (テクスチャ) |
| スキニングシステム | エンベロープベース:`EVP1` に頂点ごとのブレンドウェイトを保存、`DRW1` に描画マトリックス表を保持 |
| 埋め込みテクスチャ形式 | `TEX1` セクション内に保存された BTI (Binary Texture Image) |
| TEV シェーディング | `MAT3` には、GameCube/Wii の固定機能 GPU 用に、マテリアルごとに最大 16 個の TEV (Texture Environment) ステージ設定が保存されます |
| 圧縮 | ファイル内での圧縮はありません。親の `.szs` / `.arc` アーカイブでは Yaz0 または LZ77 圧縮が使用される場合があります |
| 一般的なファイルサイズ | 20 KB - 5 MB |
| 関連形式 | `.bdl` (Binary Display List) は、事前コンパイルされた GX ハードウェアディスプレイリストの `MDL3` セクションで `.bmd` を拡張したものです |
| リリース日 | 2001 (Luigi's Mansion, Nintendo GameCube) |
| 最新バージョン | J3D2bmd3 (revision 3 of the BMD format, revision 2 of the J3D library) - frozen; last used in Wii-era games |
| 仕様書 | wiki.cloudmodding.com |
BMD の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。BMD ファイルについて最初の質問をしてみましょう。
よくある質問
.bmd ファイルを使用しているゲームは何ですか?
Nintendo の .bmd ファイルを開いたり表示したりするにはどうすればよいですか?
BMD を Blender 用に変換するにはどうすればよいですか?
BMD と BDL の違いは何ですか?
J3D2bmd3 と J3D2bdl4 の違いがあります。