Up:[[Tutorial]] Previous:[[物体を持つ動作]] Next: [[ロボット・ダイナミクス(単純モデル)]]
----
#contents
*BVHファイルの読み込み [#x19ad21f]
※このチュートリアルはSIGVerse v2.1.0以降に対応しています。
ここではBVH形式のモーションデータをSIGVerseで読み込むサンプルを紹介します。
**サンプルコードの取得 [#r8a2a8f0]
作業ディレクトリを作成します。
$ cd ~
$ mkdir readBVH
$ cd readBVH
こちらからBVHコントローラを取得します。
https://github.com/SIGVerse/samples/tree/master/controllers/AgentControllerByBVHfile
>各種コントローラを含んだサンプル一式は[[こちら>https://github.com/SIGVerse/samples]]からダウンロードできます。
これには以下のファイルが含まれています。
-サンプルコントローラ
--srcs/BVH.cpp
--srcs/BVH.h
--srcs/BVHController.cpp
--srcs/BVHController.h
-世界ファイル
--BVHWorld.xml
-エージェント設定ファイル
--Man-bvh.xml
-bvhファイル読み込み用人間型サンプルモデル
--bvh_man.x3d
-Makefile
--Makefile
**コンパイル [#dc0eecc8]
それでは早速コンパイルをしてみましょう。
$ make
BVHController.soが作成されたらコンパイルは成功です。
***bvhファイルの取得 [#v7e3fd25]
読み込ませたいbvhファイルを取得してカレントディレクトリ(~/readBVH)に置きます。本ページのサンプルでは[[PV STUDIO>http://www.privatestudio.co.jp/down.htm]]から取得したbvhのサンプルデータAction_Kick_bvh.bvhを読み込ませます。
***世界ファイルの設定 [#w8dc6fa2]
次に読み込ませたいbvhのファイル名を世界ファイルに記述します。
$ emacs BVHWorld.xml
BVHWorld.xml
#highlight(xml:firstline[19]){{
<!--BVHファイル名の指定-->
<set-attr-value name="BvhFile" value="./filename.bvh"/>
}}
↓
#highlight(xml:firstline[19]){{
<!--BVHファイル名の指定-->
<set-attr-value name="BvhFile" value="./Action_Kick_bvh.bvh"/>
}}
bvhファイルはSIGVerseを実行するディレクトリからのパスを指定します。
BVHWorld.xml
#gist(sigverse-git/e53ded9d0f882fd716c4);
//<script src="http://gist-it.appspot.com/github/SIGVerse/samples/raw/master/controllers/AgentControllerByBVHfile/BVHWorld.xml"></script>
**実行 [#l9a95abd]
これで準備は整いました。それでは実行してみましょう。
$ sigserver.sh -w ./BVHWorld.xml
SIGViewerでサーバに接続するとエージェントが手を広げて立っているのが見えます。
Sendボタンを押してシミュレーションを開始するとbvhファイルの読み込みが開始され、エージェントが動き始めます。
#ref(BVHファイルの読み込み(v2.0系)/motion_1.PNG,40%)
エージェントがキックします。
**サンプルモデル [#f5ec3378]
bvh読み込みサンプルモデル(bvh_man.x3d)で定義された関節名は以下のようになっています。すべての関節がローカル座標系におけるx,y,z軸を中心に回転するように定義されています。
#ref(BVHファイルの読み込み(v2.0系)/joint_name.jpg)
**参考ページ [#a4b2f90f]
-[[Real animation software PV STUDIO>http://www.privatestudio.co.jp/down.htm]]
-[[尾下研究室 BVH モーションファイル 読み込み&表示 プログラム>http://www.oshita-lab.org/software/bvh/index-j.html]]
#highlight(end)
*Old Version [#la5c5120]
-[[BVHファイルの読み込み(v2.0系)]]
-[[BVHファイルの読み込み(v120330, v1.4.8)]]
----
Up:[[Tutorial]] Previous:[[物体を持つ動作]] Next: [[ロボット・ダイナミクス(単純モデル)]]
#counter