Skip to content

esetomo/MMDBVHToSLBVH

Repository files navigation

* MikuMikuDance用のモーションデータ (.vmd) を 
* mio-0.1 で一般のモーションデータ (.bvh)に変換後、
* Second Life用のアニメーション (.bvh) に変換するツール

・esetomoさん作成の MMDBVHToSLBVH を fork して拡張しました。
・vmd ファイルから直接変換はできません。mio-0.1 を使って bvh にしてから変換します。
 > mio-0.1 http://www6.atwiki.jp/vpvpwiki/pages/218.html#id_8e4d9a75
・MMDモーションで上半身2を使っているVMDモーションをSecondlife側の chest に対応させました。
 > mioで bvh に変換する時に上半身2ボーンを使っているモデルを使用してください。
・分割秒数を8秒~60秒でオプションスライダーで指定可能にしました。
・mioで上半身2->upper_body2名前変換を不要にしました。
・mioで上半身2->upper_body2名前変換されていても対応しました。
 > 要は mio で上半身2ボーン使用モデルを使って bvh 変換したものであれば OK。
・ファイル分割ロジック修正しました。
 >ただし、一番最後のファイルの一番最後の1フレームは欠落します。
・SLViewer 3.4.5 から可能になった 60 秒 BVHに対応しました。(8~60秒で選択可能)

---- master readme.txt --------------------------------------------------
めんどいのでパッケージ化していません。
上のファイルリストから「MMDBVHToSLBVH.exe」→「View Raw」で持って行ってください。
他のファイルはソースファイルです。

実行には.NET Framework 3.5が必要です。(Visual C# 2008 Expressで作成しました。)

vmdファイルは読み込めません。あらかじめmioでBVHに変換しておく必要があります。
http://www6.atwiki.jp/vpvpwiki/pages/218.html#id_d089ecef

入力も出力もBVHファイルとなりますが、以下の変換を行っています。
 
  - 関節名の変換
  - その他関節関連の変換(角度とか)
 - 0フレーム目に初期ポーズを追加
  - 30秒を超える場合には30秒ごとに区切って連番保存
    (30秒を超えるアニメーションはアップロードできないため。)

基本的にはMMD側の方が関節が多いのでSL側に対応するものが無い場合には、
その部分の動きは捨てられることになります。

ただし、「chest」関節についてはSL側のみに存在するため、
この関節については常時角度0で出力されます。


** 「Use All Joints」について

Second Lifeでは常時「通常の立ちポーズ」などのアニメーションが動作しているため、
アニメーション再生時には元々動作しているものを上書きして動作することになります。

この時、BVHファイル内で最初から最後まで動いていない関節については
(優先度が高くても)上書きが行われず、元から動作していたアニメーションの動作となります。

このチェックボックスを付けると初期ポーズと元データの最初のフレームの間で角度を
変えることにより全ての関節が上書きされるようになります。

が、実際効果があるのかどうかはこちらではよく分かりませんでした(・▽、・)