>   >  検証!慣性式モーションキャプチャ MVN:検証! 慣性式モーションキャプチャ「MVN」第3回:キャプチャデータの運用
検証! 慣性式モーションキャプチャ「MVN」<br />第3回:キャプチャデータの運用

検証! 慣性式モーションキャプチャ「MVN」
第3回:キャプチャデータの運用

MVN STUDIOでプレビューまたは撮影したモーションデータはAutodesk MotionBuilderへリアルタイムにモーションを流し込んだり(要オプション)、Maya, Max, SoftImageなど各種3DCGソフト上で簡単に開くためのエクスポート機能を搭載しているため、楽に運用できるだろう。実際のデータを見てみるとかなりの高い精度で撮影のままの動きが再現されているのが分かる。特にその場での動きに関してはほぼ完璧と言ってもいいレベルだろう。ただし、移動量の多いモーションや特殊な撮影の際には多少の誤差が発生するが、そういう場合には適切な対処をしてやれば問題無く再現することができる。以下の項目で、それらの技術な改善方法を解説していく。

モーションデータの編集の流れ

ここでは、MVNでとられたモーションキャプチャデータをアニメーション制作のフローの中での運用性を、実作業の観点から見ていきたい。作業の流れは以下の通りだ。

モーションデータの編集の流れ①

①MVNSTUDIO上で撮影した生データ(.mvn、二人撮影の場合は.mvns)をMVNStudio上でFBX形式で書き出し、MotionBuilder上でMVNに付属するPhythonスクリプトMVN_FBX_importをアセットブラウザー上から開き、撮影データを流し込むためのアクターの元データを用意

デモーションデータの編集の流れ②

②Importで各々の頂点情報のみのデータをMVNStudio上で書き出したFBXファイルから読み込む。

モーションデータの編集の流れ③

③MKMVN01.pyをアセットブラウザーから選択した状態でショートカットのF10 を押すとPythonEditorにあるExcute ActiveWork Areaを実行する。するとMVN_FBX_importで配置されたアクターデータに撮影したモーションデータが流し込まれる。

モーションデータの編集の流れ④ モーションデータの編集の流れ④

⑤このモーションデータを実際に使用するキャラクターにインポートすれば完成。

なお、このデータはコントロールリグとして保存されているため、プロットする前の段階として大まかなアニメーションの調整が容易であると言える。さらに、そこからプロットすれば、それぞれのすべてのキーが打たれたデータが作成されるため、キーリダクション等の作業や細かいモーション調整が可能になる。今回弊社では実際に撮影を行なって検証したのだが、全200テイク程の膨大な撮影データになってしまったため、自社で作成したPythonスクリプトを使用することで、上記のインポート作業をすべて自動化してヒューマンエラーの回避と共に、大幅な作業時間の短縮を実現できた。

検証:走る人間のモーションキャプチャデータの運用

実際にダッシュを行なったモーションの撮影データを読み込んだところ、撮影の精度としては体の各パーツはほぼ完全にキャプチャできているが、やはり腰の高さ情報の甘さと多少のノイズ、またゴール地点の位置が本来の位置とズレが生じるという誤差が発生した。そういった箇所についてはMotionBuilder上で調整を行うのだが、腰の高さは本来の高さよりも多少足らない印象になることが多く、rootとなるオブジェクトの高さ情報のモーションカーブを下位置を基準に拡大スケールさせれば、ほぼ本来の動きと同じ印象になった。また、最終位置がずれてしまう点に関しては、モーションレイヤーを追加し、走り出しの位置にキーを作成し、ゴール地点で本来の位置に合わせれば問題無くほぼ撮影したままのモーションを再現することができた。 本来、歩きや走りといったモーションは本来ループモーションを作成して対応するのだが、MVNを使用すれば撮影範囲が非常に広いのでデータ削減やゲーム等への実機組み込み等の必要が無ければ撮影したデータをそのまま使用して完成させることも可能だ。 プロップを掛けた後のデータに関してはほぼノイズのないデータではあるが細かい調整が必要な場合、フィルターのKeysonFlameを使用して小数点以下の場所に置かれたキーを指定したフレームレート上に配置し直し、Resampleを使用することでフレームとフレームの間に不要なキーを削除することができる。そこから更にKeyReducingを使用すればアニメーションカーブを維持したままキーを減らすことができるのだが、自動的に残されたキーの位置が修正しづらい場所になってしまうため、基本的には手作業でキーの削減をしてあげた方が時間は掛かるが結果更に良いモーションにできると言えるだろう。

画像請求中

rootとなるオブジェクトの高さ情報のモーションカーブを下位置を基準に拡大スケールさせれば、ほぼ本来の動きと同じ印象になった。

画像請求中

フィルターのKeysonFlameを使用して小数点以下の場所に置かれたキーを指定したフレームレート上に配置し直し、Resampleを使用することでフレームとフレームの間に不要なキーを削除することができる。

その他の連載