[WEB App]VRM to MMD Converter - VRMをMMD用PMX形式に変換するツール
VRM to MMD Converter
VRMファイルをMMD(MikuMikuDance)用のPMX形式に変換するブラウザ完結型ツールです。
VRMをMMDで使うには従来UnityやBlenderといったデスクトップアプリが必要でしたが、このツールはブラウザだけで完結します。glTF Binary(glB)を直接パースし、PMX 2.0バイナリを生成します。足IK・指ボーン・Aスタンス化を自動で行うため、出力したPMXはVMDモーションやVPDポーズがそのまま再生できます。
スクリーンショット
ツール
VRM to MMD Converter
VRMファイルをMMD用PMX形式に変換するブラウザ完結ツール。Unity不要、足IK・指ボーン・Aスタンス自動生成でVMDモーションがそのまま動く。
lain-lab.com特徴
Unity・Blender不要
従来、VRM→PMX変換にはUnity+UniVRMやBlender+アドオンが必要でした。このツールはブラウザのみで動作し、インストールも環境構築も不要です。
完全ローカル処理
VRMファイルは一切サーバーに送信されません。glBバイナリのパースからPMX生成、テクスチャのZIP同梱まで全てブラウザ内で完結します。
VMDモーションがそのまま動く
MMDの歩行モーション等はAスタンス(腕が下がった姿勢)と足IKを前提に作られています。このツールは変換時に腕を自動でAスタンス化し、足IK・つま先IKを生成するため、既存のVMDモーションが破綻なく再生できます。
指ボーンの完全生成
親指3関節・各指3関節に加え、指先ボーンまで自動生成します。VRMのHumanoid構造をMMD標準ボーン名(左親指0/左人指1…)へ正しくマッピングし、手のポーズを正確に再現します。
座標系・スケールの自動変換
VRM(右手座標系・メートル単位)からPMX(左手座標系・MMD単位)への座標変換とスケール調整を自動で行います。左右反転に伴う面の巻き順も正しく処理されます。
テクスチャ・マテリアルの保持
VRMのマテリアル色を保持したままPMXへ変換します。テクスチャはPNGとして抽出し、ZIPにまとめて出力します。
使い方
- VRMファイルをドロップ(またはクリックして選択)
- 3Dプレビューとモデル情報を確認 — 頂点数・ボーン数・マテリアル数が表示されます
- 変換オプションを設定
- Auto-generate Leg IK bones — 足IK・つま先IKを生成(VMDモーション再生に必須)
- Convert to MMD Toon materials — MMD用Toonマテリアルへ変換
- Invert Z-axis — 左手座標系への変換(通常はオンのまま)
- 「EXPORT PMX (ZIP)」をクリック — PMXとテクスチャをまとめたZIPがダウンロードされます
ダウンロードしたZIPを展開すると、PMXファイルとテクスチャフォルダが入っています。MMD・PMXEditor・Blender(MMD Tools)で読み込めます。
対応フォーマット
| 項目 | 対応 |
|---|---|
| 入力 VRM 0.x | ○ |
| 入力 VRM 1.0 | ○ |
| 出力 PMX 2.0 | ○ |
| テクスチャ | PNG(ZIP同梱) |
| 足IK / つま先IK | 自動生成 |
| 指ボーン(指先含む) | 自動生成 |
| VMDモーション再生 | ○ |
| VPDポーズ | ○ |
技術スタック
- Three.js — 3Dプレビュー・スキニング処理
- @pixiv/three-vrm — VRMモデルの読み込み
- glTF Binary (glB) 自前パーサー — 頂点・ボーン・マテリアルの抽出
- PMX 2.0 バイナリライタ — 頂点/面/ボーン/IK/テクスチャの書き出し
- Astro — サイト構築
開発の経緯
VRMをMMDで使いたい場面は多いものの、変換にはUnityやBlenderが必要で手間がかかります。VRMもPMXもバイナリフォーマットなので、構造を理解すればブラウザ内のJavaScriptだけで変換できるはずだと考え開発しました。
当初はPMXの表示までは実装できたものの、VMDモーションを適用すると腕が万歳になったり足が動かなかったりと、アニメーション互換に苦戦しました。正常に動作する外部ツール製PMXとバイナリレベルで数値比較することで、座標系の反転軸・足IKの欠如・Aスタンスと座標のズレなどを一つずつ特定し、最終的にVMDモーションがそのまま再生できるレベルに到達しました。
変換処理の詳細(PMXバイナリ構造、座標系変換、足IKの実装、Aスタンス化のスキニング処理など)は、別記事にまとめています。
[JavaScript] VRM to MMD — VMDアニメーションが動くまでのデバッグ記録 // PROTOCOL.LAIN
VRM→PMX変換ツールのVMDモーション互換を実現するまでの記録。座標系のX反転、足IKボーンの実装、ボーン名マッピングの修正、ローカル軸フラグの追加を、正常品PMXとのバイナリ比較で1つずつ潰した
lain-lab.com
[JavaScript] VRM to MMD(PMX) 変換ツール — glBパースからPMXバイナリ書き出しまで(β版) // PROTOCOL.LAIN
VRMファイルをMMD用PMX形式に変換するブラウザ完結ツールを開発中。glTF Binaryのパース、PMX 2.0バイナリの生成、座標系変換、Humanoidボーンマッピングの実装記録
lain-lab.com更新履歴
- [2026/07/28]: 公開。足IK・指ボーン・Aスタンス自動生成に対応し、VMDモーション再生に対応