kinect モーションキャプチャテスト2 ( RokDeBone2 編 )
- 2011/06/08 23:41
- カテゴリー:3Dモデル & モーション 関連
2011年6月15日 : 追記 & 修正
関連記事:
・ Kinect の紹介 ( Kinect とは何か? )
・ Kinect モーションキャプチャテスト1 ( MikuMikuDance 編 )
・ Kinect モーションキャプチャテスト2 ( Rokdeborn2 編 )
■ 前置き
ようやく以前から期待していた方の kinect モーションキャプチャに関するソフトウェアが
少し前に公開されたので、久々にkinect のモーションキャプチャテストを行いました。
※ この記事は、ソフトの更新の都合上、たまに記事内容の更新をするかもしれません。
◎使用ソフト : RokDeBone2
※ 記事作成当初は、旧KinecoDXと言う別ソフトでしたが、
RokDeBone2へ機能統合。
ちなみに RokDeBone2 は、おちゃっこ氏が作成されているフリーソフト。
※ カンパも歓迎の様で、開発を応援されている方も良ければ気持ち程度でも。
・RokDeBone2 とは何が出来るソフトウェア?
Metasequoia等で作成した 3Dモデルデータに、ボーンやウェイトの設定を行い、
モーションを作成する事などが出来る便利なソフト。
入・出力用ファイル形式も種類が多く使いやすい。
今回から、kinect ( xbox360の周辺機器 ) を PCで使用し、
リアルタイムでモーションキャプチャ 可能な機能が追加されました。
※ 表示している3Dキャラクターにそのままのモーションキャプチャの
体の部位の位置データが反映され、実際にリアルタイムでプレビュー可能。
※ 出力ファイルは、x ( DirectX形式 ) アニメーションモデルファイル、
3Dキャラクターのモーションを2D連番画像 or 動画 ファイル 等が 可能。
自分の趣味で開発した 「 ドキドキ玉子王国 OnLine Battle 」 で実際に使用。
自分のHP
http://kenji-arikitari.main.jp/
RokDeBone2 製作者の「 おちゃっこ氏の公式HP 」
http://www5d.biglobe.ne.jp/~ochikko/
■ Kinect モーションキャプチャテスト2 ( RokDeBone2編 )
・RokDeBone2 と kinect を PCで動作させる為のドライバ等 の導入
上記の制作者の おちゃっこ氏の公式HP から、RokDeBone2のソフトウェアを
ダウンロード。
RokDeBone2自体はインストール形式ではなく、圧縮されているだけなので、
好きな場所 ( 指定フォルダ ) へファイルを解凍するだけ。
Kinectを使用する為のドライバ等のインストールは、
RokDeBone2のマニュアルフォルダ内にある、「 rokdebone.htm 」を開き、
そのマニュアルページ内の最下部にある、
「 RokDeBone2にモーションキャプチャが付きました 」と記載されている
ところをクリックし、マニュアルのモーションキャプチャ専用ページを開く。
後は、項目のインストールと書かれたところの 「 こちら 」をクリックすると、
画像付きの説明で詳しく掲載されているのでそちらを参照して下さい。
・実際に RokDeBone2 で、モーションキャプチャしてみたので、
そのまま未加工なモーションですが、動画をアップロードしてみました。
※ 自分の開発したドキドキ玉子王国のキャラクターを使用
■ RokDeBone2 の Kinect モーションキャプチャの手順
※ RokDeBone2 の、ボーンの組み込み、ウェイト設定の基本的な部分は、
製作者の方のヘルプファイル等に詳しく記載されているので省きます。
※ RokDeBone2 の Kinect の設定は、自分のブログの上記、もしくは製作者の
ヘルプファイルを参照して下さい。
はじめに、RokDeBone2 のソフトを起動し、ボーンの組み込みやウェイト設定の終えた
ファイルを読み込みます。
実際の読み込みが終わると、下記の画像の様になると思います。
( ※ 分かりやすいようにKinectのモーションキャプチャに必要な項目に、
①~④の番号を追記しました )
では、実際に上記の画像の ①~④ の項目部分の説明。
① kst ファイルの読み込み ( ※ 無い場合は、作成後に読み込み )
※ 初回は、kst ファイルは当然ないので、まずkstファイルの作成。
作成はファイルの作成だけで、読み込まないので、
必ずkst ファイルの読み込みを選択し実行。
ちなみに kst ファイルは、kinect で モーションキャプチャを行うので、
kinect 側の体の部位のボーンは、RokDeBone2のどこのボーンになるかを
各体の部位毎に割り当てる為の設定ファイル。
実際の自分の kst 作成ボタンを押した後の設定画像。
上記の画像の説明。
①kst の設定を変更する為に、1度kstファイルとして作成したデータを読み込む。
※ 参照ボタンを押してダイアログから開く
②実際のボーンを割り当てる部分。左 : kinect側、 右 : RokDeBone2。
③kst の設定を、kst ファイルとして保存。
※ 参照ボタンを押してダイアログを開き、ファイル名を指定して保存する
② モーションの名前とフレーム数( モーションの時間の長さ ) の設定
※デフォルトでは、60フレームで短いので、適度に増やす。
実際の設定画像
上記の画像の説明。
①モーション名
②総フレーム数
③タイムゲージとして表示するフレーム数
③ kinect モーションキャプチャの開始 と 終了
RokdeBone2 には、モーションキャプチャの項目が、下記の様に 2つ有り、
1 : current motion 連続記録
( ※ 全ての動きをモーションとして毎フレーム記憶 )
2 : 1 フレームオートシャッター
( ※ 写真撮影みたいに、1回 ( 1フレーム )のみ記憶。
実際には、10秒のカウントダウンが画面左上に表示され、0になった所の
モーションのみ記憶 )
キャプチャ開始ボタンを押した後、kinect の認識等に数秒間かかる様ですが、
kinect に認識されると、モデルの横らへんに、現実の自分の姿が赤く塗りつぶされた
形状で表示されます。
自分の姿が表示された後、モデルと同じポーズを取ると、実際にモデルに
自分の動きが伝わり、モーションキャプチャが開始されます。
基本的に、設定したフレーム数経過するとモーションキャプチャは終了しますが、
途中でモーションキャプチャ止めたい場合のみ、モーションキャプチャの終了ボタンを押す。
④ モーションの平滑化
記憶したモーションを間引く為のフィルタ。
指定したフレーム数で、モーションの位置情報を平均を取って間引くような形?。
● RokDeBone2 のモーションキャプチャ等 の 個人的な感想。
まず、あくまで個人的な見解ですが、
魅せる動画を作りたい場合が、プラグイン等豊富なMMD。
ゲーム等で使うキャラクターのモーション等を作る場合が、Xファイル等の入出力ファイル
が豊富なRokDeBone2と思っています。
ですので、自分の場合は、後者のRokDeBone2 をメインで使う事が多いです。
それで、RokDeBone2 のモーションキャプチャについてですが、
もし実際にゲームのモーションとして使うのであれば、kinect のモーションキャプチャ後、
そのモーションを手作業で修正して使うことになると思いますが、
現時点では、RokDeBone2のモーションキャプチャで、
『 1フレームオートシャッター 』 の機能を使う事がメインになりそうな予感。
理由は、現時点で試した感じでは、フィルタを使用しても
自分の思っている綺麗なモーションにならないので、
綺麗なモーションを1フレーム毎取って、手作業でキーフレームとして割り当て、
動きを作っていく方が修正箇所も案外少なく綺麗に出来そうなので。
それと1点、RokDeBone2の現時点のモーションキャプチャを使用する際に困ったのが、
モデルの初期の姿勢が、「 大の字 」 ではなく、腕を曲げて上に上げたポーズに
しないと動作がおかしくなる所。
これに関しては、今回テストする為に、モデルデータを1から設定し直しました。
後、最後に kinect ハックの方のドライバ等ではなく、
MicorosoftのkinectSDKを使用すると、モーションキャプチャの精度は
どれくらい上がる?のが、一番気になります。