【Blender】BVHファイルの使い方と公式で公開中のPerfumeのBVHファイルを使用するときの注意点【覚書】

20160414121320

 

Perfume official global websiteで公開されているBVHを使ってみたので、BVHファイルの使い方と、上記サイトで公開中のBVHファイルを使う上での注意点について覚書。

ちなみにBVHはモーションキャプチャ(動き)のデータが保存されているファイルのこと。これをインポートから読み込んでやり、オブジェクトに関連付けてやると、オブジェクトがBVHファイルに記録されている動きをトレースしてくれる。

つまり良い動きが作れたら、BVHでエクスポートしておけば、簡単に他のファイル、オブジェクトでも使いまわせるということでもある。

( ゚д゚)やったね!

BVHファイルの使い方

  1. 配布されているファイルをDLしてきて、好みの場所に解凍する。
  2. Blenderの『ファイル』→『インポート』→『Motion Capture(.bvh)』を選択する。
  3. BVHファイルの選択画面の左下にある幾つかの項目(※インポートの項目で解説)で、BVHファイルの読込設定を行い、読み込みたいBVHファイルを指定して読み込む。
  4. 今回の場合は人型のアーマチュアが追加されるので、編集モードでアーマチュアの各部位を人型のオブジェクトと位置を合わせる。※※
  5. モデリングしておいたオブジェクト(人型)とインポートしたアーマチュア(人型)を選択して、Ctrl+Pでアーマチュアの変形(自動ウェイト)などを行う。
  6. 各Frameで高さの調節等をして問題なければ完了。

 

※※ 注意点がひとつだけあって、Perfumeの公開中のデータは、1Frame目のポーズにトランスフォームがなされているので、これを修正してやる必要がある。

1Frame目のポーズの修正(※ 超重要)

  1. 編集モードでアーマチュアの各部位を人型のオブジェクトに合わせたら、ポーズモードに移り、1Frameに合わせる。
  2. アーマチュアの全てを選択した状態で、『ポーズ』→『トランスフォームをクリア』→『全て』を実行。
  3. 編集モードでアーマチュアの各部位を人型のオブジェクトに合わせた状態になったら、『 I 』キーでキーフレーム(位置/回転/拡縮)を上書きする。
  4. オブジェクトモードに戻り、オブジェクト(人型)、アーマチュアの順に選択したらCtrl+Pで自動ウェイトなどをかける。
  5. 1Frame目以外では、高さがズレているはずなので、オブジェクトモード上で高さを変更する。必要があれば原点の位置も変更する。

 

公開されているPerfumeのBVHファイルを使うときはこの作業が必須。他の配布されているBVHでは必ずしもそうではないけれど、オブジェクトとアーマチュアの関連付けで上手くいかないときは、このことを思い出すと対応できるかもしれない

Σ(・ε・;)  ……かなりハマった部分。

インポートの設定(BVH読込時、左下に表示される)

20160414113417

とりあえず、これが公開中のPerfumeのBVHを読み込んだときの設定。重要なのは、作成されたソフトやデータ内容によって、何を選択するのか異なること。この設定はこのデータでしか通用しない。

つまりBVHの内容がわからない場合は、一度デフォルトのままで読み込んでやり、アーマチュアがどの向き、どんな大きさか把握してやることになる。

 

『PerfumeのBVH』について……

『前方』の項目は『-Z』でもよかったのだけど、その場合、踊り出すとテンキーの1を押したときの正面から見て、後ろ向きに踊っている感じになるために『Z』を指定。

ただし、そのために1Frame目だと、アーマチュアは後ろを向いている状態になっているので、オブジェクトも後ろ向きにしてやる必要があった。

『上』の項目は『Yが上』をデフォルトのまま選択。これはBVHを作成したときに『Y』が上だったようでそのまま。『ターゲット』の項目は『アーマチュア』をデフォルトのまま指定。

『拡大縮小』の項目は『0.02』を指定。Perfumeの3人は巨人すぎww 細かくは指定できないので、適当な大きさで読み込み、後で大きさを修正する。『開始フレーム』の項目はそのまま『1』を指定でOK。

『FPSのスケーリング』はチェックを入れる。『シーンFPSを更新』もチェック。『シーン期間を更新』もチェック。『ループ』はチェックなし、『回転』もデフォルトの『オイラー(ネイティブ)』でOK。

BVHの読込からオブジェクトに関連付けるまでの流れ

20160414122615

人型のオブジェクトのBody部分のみをアペンドで読み込んだところ。これにBVHのデータを関連付けていく。

 

20160414122827

BVHを上記の設定でインポートした場面。人型のオブジェクトはメートル単位で2m弱程度なので、拡大縮小0.02の読み込みでもアーマチュアはまだ大きい。

 

20160414122952

編集モードに入り、アーマチュアの大きさを調整して、人型のオブジェクトをアーマチュアの向きに合わせて後ろ向きにする。

 

20160414130501

編集モードに入り、アーマチュアの各部位の位置や大きさを合わせる。

 

20160414123827

オブジェクトモードに戻った場面。またオブジェクトとアーマチュアがズレている。

ここでポーズモードに入り、全てを選択した状態でトランスフォームをクリアする。また、人型のオブジェクトとアーマチュアが編集モードで編集したとおりに一致する重なるので、ここで『I』キーでキーフレームを上書きしてやる。

オブジェクトモードに戻ると、人型のオブジェクトとアーマチュアが一致しているので、Ctrl+Pで自動ウェイトで関連付けてやる。

 

20160414125146

初期状態の1Frameでは人型のオブジェクトとアーマチュアが原点(0,0,0)上にあったけれど、1Frame以外では上に移動してしまっているので、オブジェクトモード上で高さを移動させる。

 

20160414125348

オブジェクトモード上でアーマチュアを正しい高さに移動させ、原点の位置を3Dカーソルの位置(0,0,0)にしたもの。

タイムラインの再生をクリックすると、人型のオブジェクトが読み込んだアーマチュアに合わせて踊る。

(※ 高さを調節した結果、初期状態の1Frameだと、オブジェクトがZ軸(マイナス)に沈み込んでいる状態になる)

 

 

関連記事
スポンサーサイト

0 Comments

Post a comment