VmdReductionTool

MikuMikuDance Kinectモーションキャプチャ機能により取得したモーションデータに対して、平滑化やノイズ除去、フレームの間引きを行うツールです。

その他、接地補正、各位置/回転オフセット、モーション合成の機能もあります。

モーションデータはグラフで表示され、視覚的に確認が可能です。

またボーンごと、フレーム範囲ごとに平滑化やノイズ除去などの処理ができます。

必要環境

Windows XP 以降

.NET Framework 2.0以降

Microsoft Visual C++ ランタイムコンポーネント

DirectX 9.0c

画面説明

機能概要

主な機能は下記の通りです。

平滑化・ノイズ除去

    • フーリエ変換によるローパスフィルタ(平滑化、ノイズ除去)

    • ウェーブレット変換による縮退フィルタ(平滑化、ノイズ除去)

    • 正弦移動平均による平滑化

キーフレーム間引き

    • 元の動きをできるだけ残してのキーフレーム間引き

補正・オフセット

    • 接地補正(足IKの0以下をすべてゼロにして、センター・IKボーン位置を調整)

    • XYZ位置オフセット

    • XYZ軸回転オフセット

その他

    • 多段ボーンのモーション統合

処理実行

パラメータ設定に従い、下記の3つの範囲で処理が可能です。

すべてのボーン

すべてのボーンに対して処理を行います。

選択ボーン

選択されているボーンのみに対して処理を行います。

選択フレーム

選択されているフレーム範囲のみに対して処理を行います。

フレームを選択するには、グラフ上でドラッグして選択してください。

グラフ表示設定

パラメータ設定

■ フィルタ

モーションデータを波と捉えて、平滑化およびノイズ除去を行います。

FFT LPフーリエ変換によるローパスフィルタです。

幅の狭い波を除去します。

スパイクのような波を除去することに向いています。

%を上げれば上げるほど、幅の狭い波が除去され、波が大きく、緩やかなものが残ります。

Wavelet

モーションデータを特定の波に変換し、弱い波を除去することにより、ノイズ除去を行います。

細かい波に隠れた大きな波を取り出すことに向いています。

Lvを上げれば上げるほど、細かい波が除去されていきます。

動きがうまく再現されなくなる場合もあるので、使いどころに注意してください。

動きの早い腕やひじに使う場合は要注意です。

■ 正弦移動平均

過去・現在・将来のフレームを見て、重みをつけて平均を取ることで平滑化を行います。

動きが滑らかになりますが、速度やピークも平均化されるため、素早い動きがなくなってしまうことがあります。

サンプル区画で設定する値は、過去と将来のフレーム数です。

例えば、サンプル区画が"2"の場合、過去2フレーム、現在フレーム、将来2フレームの合計5フレームで加重平均を取ります。

■ キーフレーム間引き

動きに大きな影響が無いと思われるキーフレームを間引きます。

正確さの値が大きければ大きいほど、元の動きを残します。

値が小さいと、キーフレーム削減率は大きくなりますが、元の動きが損なわれることがあります。

■接地補正

センター、足IKのY位置を調整し、またこれらボーンのY位置ゼロ以下の値をゼロにすることで、接地感を出します。

接地補正の右側にある▼ボタンを押すと、右・左足IKボーンの高さを見ながら、

高さに対するバイアス値をドラッグで指定することができます。

この2つを設定することにより、キャラクタと地面で足を押しつぶすような形になります。

■オフセット機能

XYZ位置、XYZ軸回転にオフセット(バイアス)をかけることができます。

姿勢の調整などに使ってください。リセットボタンでパラメータ値をすべてゼロにすることができます。

なお、この機能は「すべてのボーンを処理」では使えません。

選択ボーン、フレームに対してのみ有効です。

多段ボーンの統合 *2011/03/06 VmdMotionIntegrator に移動

多段ボーンによるモーションを、1つの元ボーンに統合します。

多段ボーンを使った独自モデルのモーションを、統合して他のモデルに移したりすることができるようになります。

「VMDファイルを開いて多段ボーンを統合」ボタンをクリックすると、下のようなダイアログが表示されます。

統合するボーンをチェックボックスで指定し、「統合」ボタンを押します。

完了ダイアログが出たら、そのまま「名前を付けて保存」を実行してください。

また、多段ボーンを判断する文字を指定することができます。

デフォルトでは「~補助」「~親」「~+」に対応しています。

この文字より前の文字列が一致した場合に、多段ボーンだと判断し、統合対象とします。

例えば、「左腕補助3」は、「補助」が含まれているので、その前の文字列「左腕」ボーンに統合されます。