Vmd2XML

→ MikuToga ポータルサイトへ戻る


Vmd2XMLとは?

Vmd2XMLは、MMDで用いられるVMDモーションファイルをXML形式ファイルに変換したり、XML形式ファイルからVMDモーションファイルの復元を行うために開発されたJava製のツールです。

Vmd2XMLはJARファイルで提供されます。このツールを動かすためにVer1.6以降のJava実行環境(JRE)が必要です。→ java.com

Vmd2XMLはコマンドプロンプトなどでのコマンドライン実行を想定して作られています。2.101.4版の時点では、グラフィカルなGUIフロントエンドを持ちません。

Vmd2XMLはMikuTogaプロジェクトの一部として開発され、その一部にTogaGemライブラリが用いられています。

想定される利用形態

XML文書型情報

Vmd2XMLが読み書きするXML文書の形式は以下のファイルで定義されています。MMD Ver7.40リリースに伴うVMDモーションファイル仕様の変更に伴い、デフォルトのXMLスキーマが110820版から130609版へと変わりました。

しばらくの間、旧版スキーマ http://mikutoga.sourceforge.jp/xml/xsd/vmdxml-110820.xsd によるXMLの読み書きもサポートしていきます。

metaタグの使い途などはこれからみんなで考えていきましょう。

文書型定義の改造はもちろん自由ですが、スキーマURLやXML名前空間はちゃんと自前で用意してね。

ダウンロード

以下のダウンロードサイト(SourceForge.JP)から拡張子が*.jarのファイルをダウンロードして適当な場所へ置いてください。解凍作業は不要だよ。

プログラミングに興味のない方は、拡張が*.zipのファイルをダウンロードする必要はありません。

⇒ Vmd2XML (2.101.4)

Vmd2XMLの実行に際して、これ以外のJarファイルを他所からダウンロードしてくる必要は一切ありません。

オプション一覧

2.101.4版のオプション

-i filename
入力ファイル名を指定
-o filename
出力ファイル名を指定
-f
出力ファイルを強制上書き
-quat
クォータニオン回転角出力モード [デフォルト]
-eyxz
YXZオイラー回転角出力モード
-iform [vmd:xml:xml110820:xml130609]
入力種別を明示的に指定
-oform [vmd:xml:xml110820:xml130609]
出力種別を明示的に指定
-nl [lf:crlf]
改行コード指定
-genout [on:off]
generatorタグ出力抑制
-h
ヘルプ出力

実行例

※ JARファイル名はダウンロードしてきたJARファイル名に適当に置き換えてね。

↓VMDモーションファイルをXMLに変換する場合。

D:\Temp> java -jar vmd2xml-2.101.4.jar -i test.vmd -o test.xml

↓XMLファイルからVMDモーションファイルを復元する場合。

D:\Temp> java -jar vmd2xml-2.101.4.jar -i test.xml -o test.vmd

※ 2.101.4版から、ファイル名からある程度ファイル種別を推測するようになりました。

出力例

元データ:VMD化した、MMD Ver7.39同梱のきしめんダンス (フレーム長733frame、403KB)

変換後のXMLファイル:794KB 38168行
※ gzipで圧縮すれば48KBになる。

ボーンモーション周辺

........
<boneMotionSequence>

  <!-- センター -->  <!-- Perhaps : [center] -->
  <bonePart name="&#x30BB;&#x30F3;&#x30BF;&#x30FC;" >

    <boneMotion frame="0" >
      <bonePosition xPos="0.0" yPos="-0.32" zPos="0.0" />
      <boneRotQuat
        qx="0.0"
        qy="-0.2474038"
        qz="0.0"
        qw="0.968912"
      >
        <defEaseInOut />
      </boneRotQuat>
    </boneMotion>
........

モーフモーション周辺

........
  <!-- あ -->  <!-- Perhaps : [a] -->
  <morphPart name="&#x3042;" >
    <morphMotion frame="0" flex="0.0" />
    <morphMotion frame="102" flex="0.0" />
    <morphMotion frame="104" flex="0.67" />
........

→ MikuToga ポータルサイトへ戻る

Copyright(c) 2011 olyutorskii