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」は、「補助」が含まれているので、その前の文字列「左腕」ボーンに統合されます。