Pmd2XMLは、MMDで用いられるPMDモデルファイルをXML形式ファイルに変換したり、XML形式ファイルからPMDモデルファイルの復元を行うために開発されたJava製のツールです。
Pmd2XMLはJARファイルで提供されます。このツールを動かすためにVer1.6以降のJava実行環境(JRE)が必要です。→ java.com
Pmd2XMLはコマンドプロンプトなどでのコマンドライン実行を想定して作られています。1.201.2版の時点では、グラフィカルなGUIフロントエンドを持ちません。
Pmd2XMLはMikuTogaプロジェクトの一部として開発され、その一部にTogaGemライブラリが用いられています。
Pmd2XMLが読み書きするXML文書の形式は以下のファイルで定義されています。まだ変わる可能性はあります。
PMDモデルファイルに含まれない若干冗長な情報も記述可能となっています。(PMDEditor独自の「素材名」など)
metaタグの使い途などはこれからみんなで考えていきましょう。
文書型定義の改造はもちろん自由ですが、スキーマURLやXML名前空間はちゃんと自前で用意してね。
以下のダウンロードサイト(SourceForge.JP)から拡張子が*.jarのファイルをダウンロードして適当な場所へ置いてください。
プログラミングに興味のない方は、拡張が*.zipのファイルをダウンロードする必要はありません。
Pmd2XMLの実行に際して、これ以外のJarファイルを他所からダウンロードしてくる必要は一切ありません。
1.201.2版のオプション
bool : "on" or "off"
newline : "lf" or "crlf"
format : "pmd" or "xml" or "xml101009" or "xml130128"
※ JARファイル名はダウンロードしてきたJARファイル名に適当に置き換えてね。
↓PMDモデルファイルをXMLに変換する場合。
D:\Temp> java -jar pmd2xml-1.201.2.jar -i test.pmd -o test.xml
↓XMLファイルからPMDモデルファイルを復元する場合。
D:\Temp> java -jar pmd2xml-1.201.2.jar -i test.xml -o test.pmd
※ 1.201.2版から、ファイル名からある程度ファイル種別を推測するようになりました。
元データ:初音ミクVer2.pmd(あにまさ氏)
(12354頂点、695KB)
↓
変換後のXMLファイル:5.6MB 117382行
※ gzipで圧縮すれば633KBになる。
素材設定周辺
........ <materialList> <material showEdge="true" surfaceGroupIdRef="sg0"> <diffuse r="0.133" g="0.616" b="0.71" alpha="1.0" /> <specular r="0.0" g="0.0" b="0.0" shininess="5.0" /> <ambient r="0.0665" g="0.308" b="0.355" />> <toon toonFileIdRef="tf0" /> <!-- toon01.bmp --> </material> ........
ボーン設定周辺
........ <!-- 首 --><!-- 回転 --> <bone name="首" boneId="bn2" type="ROTATE"> <i18nName lang="en" name="neck" /> <position x="0.0" y="16.418097" z="0.0" /> <boneChain prevBoneIdRef="bn1" nextBoneIdRef="bn3" /> <!-- [上半身]=> # =>[] --> </bone> ........
頂点定義部周辺
........ <vertex vtxId="vtx7976" showEdge="true"> <position x="-3.6478999" y="6.3499" z="1.24" /> <normal x="0.92408043" y="0.34644318" z="0.16140814" /> <uvMap u="0.317604" v="0.182506" /> <skinning boneIdRef1="bn48" boneIdRef2="bn47" weightBalance="0" /> </vertex> ........