Up:Tutorial? Previous:物体を持つ動作 Next: ロボット・ダイナミクス(単純モデル)
※このチュートリアルはSIGVerse v2.1.0以降に対応しています。
ここではBVH形式のモーションデータをSIGVerseで読み込むサンプルを紹介します。
作業ディレクトリを作成します。
$ cd ~ $ mkdir readBVH $ cd readBVH
こちらからBVHコントローラを取得します。
https://github.com/SIGVerse/samples/tree/master/controllers/AgentControllerByBVHfile
各種コントローラを含んだサンプル一式はこちらからダウンロードできます。
これには以下のファイルが含まれています。
それでは早速コンパイルをしてみましょう。
$ make
BVHController.soが作成されたらコンパイルは成功です。
読み込ませたいbvhファイルを取得してカレントディレクトリ(~/readBVH)に置きます。本ページのサンプルではPV STUDIOから取得したbvhのサンプルデータAction_Kick_bvh.bvhを読み込ませます。
次に読み込ませたいbvhのファイル名を世界ファイルに記述します。
$ emacs BVHWorld.xml
BVHWorld.xml
↓
bvhファイルはSIGVerseを実行するディレクトリからのパスを指定します。
BVHWorld.xml
これで準備は整いました。それでは実行してみましょう。
$ sigserver.sh -w ./BVHWorld.xml
SIGViewerでサーバに接続するとエージェントが手を広げて立っているのが見えます。 Sendボタンを押してシミュレーションを開始するとbvhファイルの読み込みが開始され、エージェントが動き始めます。
エージェントがキックします。
bvh読み込みサンプルモデル(bvh_man.x3d)で定義された関節名は以下のようになっています。すべての関節がローカル座標系におけるx,y,z軸を中心に回転するように定義されています。
Up:Tutorial? Previous:物体を持つ動作 Next: ロボット・ダイナミクス(単純モデル)