BVHファイルの読み込み方

bvhファイルと、ボーンの入っていないbvhの大きさにマッチした形状データを持っている場合には、
ファイルメニューからbvh読み込みを実行するだけでOKです。

ですが大抵の場合、そのようなBVHにフィットした形状データは手元にないものと思います。
(特にmqoやrokの場合)

そこで、このページでは形状データにBVHにフィットするボーンを入れ、BVHのモーションを読み込む手順を書きます。

おおまかなイメージとしては、
BVHのボーンデータを読み込み、ボーンの位置を調整した後、
BVHのモーション部分だけを読み込む、
という感じです。

///////////////////////////////////////////////////////////////

  1,ボーンの入っていないmqo又は、rokをRDB2で読み込む

    

    ボーンの入っていないデータがない場合は、連番MQO出力をしてボーンの無いmqoファイルを出力してください。

    形状データは後ろ向き、つまりZ軸方向を向いているようにしてください。
      もし、前向きのデータしかない場合は編集メニューの「形状データを後ろ向きにする」を実行してください。

    
    2016/04/12追記
    GitHubに2016/04/12にpushしたバージョンのRokDeBone2から、形状を後ろ向きにしないでもbvhを前向きデータに変換できるようになりました。
    前向きのモデルに対してそのままbvhを読み込めばOKです。


    

    

  2,モーションの読み込みでBVHを読み込む。
    
    4〜8倍程度の倍率で読むと良いと思います。

    

    sig, mqoなどは読み込みを行うと古い形状データを削除した後に新たに読み込みますが
    bvhの場合は古い形状が残ったまま、それに追加する形でbvhの読み込みが行われます。

    まっさらな状態から読み込みなおしたい場合は
    編集メニューの「形状、モーションデータの全削除」を実行してからbvhを読み込んでください。

    bvhの読み込みを行うと、BVHのボーン情報とモーション情報が読み込まれます。

    
    bvhを読み込むとまだ何も設定していないので、上図のように形状が歪んだりしますが気にしない。

    2016/04/08追記
    bvhを読み込んだら、bvhデータを初期姿勢にするためにモーションメニューの「編集中のモーションを削除」を実行してください。




  3,ジョイントの位置を調整する

    bvhの読み込み直後のボーンのポーズを覚えてください。
    5で必要になります。

    bvhのボーンの姿勢と形状の姿勢が異なると思いますので
    形状の姿勢に合うようにボーンの位置を調整します。

    ボーンの位置を調整するには
    ツールボタンの「位」ボタンを押し、ダイアログでモーションを削除するモードを選び
    さらに出てきたダイアログで「ジョイント」ボタンを押します。
    3D表示画面には面の他に線と点が表示されるモードになりますので
    見にくい場合はツールボタンの「線」と「点」ボタンを押して選択解除します。
    

    



    位置調整は3Dウインドウ上の○マークのマウスドラッグとダイアログでの数値指定に対応しています。

    

    
    ○をドラッグしてどんどん位置調整していく。

    
    真後ろからの調整が済んだところ。

    
    真後ろからが済んだら、真横からさらにZ座標を調整する。
    Z座標は複数のボーンの位置を正確に合わせたいので
    数値入力を使います。
    ダイアログで数値入力モードが絶対値になっていることを確認し
    3Dウインドウ上で動かしたい○を選択し、ダイアログのZ座標に数値を入力して「入力値の反映」ボタンを押します。

    
    真横からの調整も終わり!

    位置調整が終わったらダイアログを閉じます。
    影響度の再計算をするかの問いには「はい」を選びます。

  4,影響度の調整をする。

    マウスで3Dウインドウ上の○マークをマウスでドラッグして姿勢を変えてうまく動くかを確認します。
    全てのボーンを動かしてみてください。異なるボーンを選択する場合は○マークをShift + 左クリックです。

    腕を動かした場合に髪の毛が動いてしまったり、左足を動かした場合に右足の一部まで動いてしまったりする場合が多いです。
    これは自動計算のボーンの影響度の設定に問題があるためです。
    その場合は影響度の設定をしてください。

    影響度の設定の仕方は、おちゃっこLABのトップページに「講座」というリンクがあるので、そこを読んでください。


  5,初期姿勢を変更する。

    現在のポーズと、3で覚えたBVHのボーンの初期ポーズが異なる場合には
    初期ポーズを3で覚えておいたポーズに調整する必要があります。

    簡単です。
    ツールボタンのRボタンを押し、IKでbvhと初期ポーズと同じポーズを作ったら、
    編集メニューの「現在のポーズを初期姿勢にする」を実行してください。

    


    ここまで出来たらsigファイルを保存してください。

  6,BVHのモーションだけを読み込む。

    BVHを「モーション情報のみを読み込む」にチェックを入れて読み込んでください。
    
    

    (同じ骨組の(名前と階層構造が同じ)bvhを複数読み込む場合は、この6の手順だけでOKです。)

  7、プレビューする

    

    読み込んだ直後はデフォルト状態で、0フレームから100フレームまでのモーションしか再生できないようになっています。
    モーション全体を再生できるように変更します。
    まずモーションウインドウのtotalのところを見てください。598という数字が書いてありますね。
    これは読み込んだモーションのフレーム数が598フレームだということを表しています。
    モーションウインドウ右下の「表示幅」のところにこのフレーム数より大きな数を指定します。
    そして「幅適用」ボタンを押します。
    その上の「開始位置」が0になっていないときは0にして「位置適用」ボタンを押してください。

    あとは「プレビュー開始」ボタンを押せばもーしょんが再生されます。


       //////////////////////////////////////////////////////////////

ワンポイント
  
  BVHの初期状態は手と足が近すぎる場合が多く、このポーズからボーン影響度の設定をすると、
  影2の場合などかなり骨が折れます。

  もうちょっと、ましな状態から始めたい場合は
  まず、大の字のポーズで影響度の調整をして
  編集メニューで初期姿勢を変更するといいです。


  途中で取り消せない間違った操作をしてしまった場合は
  IK操作以外は基本的にはやり直しですが(IKはCtrl + Zでアンドゥできます)
  RokDeBone2にはAutoSave機能もあります。
  AutoSaveフォルダの中身を調べると作業途中のデータが見つかるかもしれません。

  まめにsigを保存したほうが確実ですが。

注意
  bvh読み込みの際に、RokDeBone2とbvhとの仕様の違いを吸収するために
  一番親に原点のボーンを1つ追加します。
  このボーンはbvhモーションの際に動きません。
  このボーンが出っ張ったり伸びたりして見えますが不具合ではありません。


   ///////////////////////////////////////////////////////////////////////

RokDeBone2のトップページに戻る

トップページに戻る