BVHファイルの読み込み(v120330, v1.4.8)
[
Front page
] [
New
|
List of pages
|
Search
|
Recent changes
|
Help
]
Start:
Up:[[Tutorial]] Previous:[[物体を持つ動作]] ...
#contents
*BVHファイルの読み込み [#x19ad21f]
ここではBVH形式のモーションデータをSIGVerseで読み込むサン...
**サンプルコードの取得 [#r8a2a8f0]
まずSIGVerseがインストールされたディレクトリに移動します。
$ cd ~/sigverse-<version>/bin
次にsoicoまたはsocio2サーバの以下のディレクトリからサンプ...
↓こちらからも取得できます。
#ref(readBVH.tar.gz)
$ cp /home/SIGVerse/samples/readBVH.tar.gz .
$ tar zxvf readBVH.tar.gz
$ cd readBVH
このパッケージの中には以下のファイルが含まれています。
-サンプルコード
#ref(BVH.cpp)
#ref(BVH.h)
#ref(BVHController.cpp)
#ref(BVHController.h)
-世界ファイル
#ref(BVHWorld.xml)
-エージェント設定ファイル
#ref(Man-bvh.xml)
-bvhファイル読み込み用人間型サンプルモデル
#ref(bvh_man.x3d)
-Makefile
#ref(Makefile)
**コンパイル [#dc0eecc8]
それでは早速コンパイルをしてみましょう。
***Makefile修正 [#d1d66155]
Makefileを自分の環境に合わせて修正します。
$ emacs Makefile
Makefile
#SIGVerseソースの場所指定
SIG_SRC = /home/<user-name>/sigverse-<version>/include/...
#オブジェクトファイルの指定
OBJS = BVH.o BVHController.so BVHController.o
all: $(OBJS)
#コンパイルを行います。
BVHController.o: BVHController.cpp
g++ -DCONTROLLER -DNDEBUG -DUSE_ODE -DdDOUBLE -I...
BVH.o: BVH.cpp
g++ -DCONTROLLER -DNDEBUG -DUSE_ODE -DdDOUBLE -I...
BVHController.so: BVHController.o BVH.o
g++ -shared -o BVHController.so BVHController.o ...
SIG_SRC = /home/&color(red){<user-name>};/sigverse-&colo...
の部分の<user-name>, <version>をそれぞれ自分のユーザ名、...
***make [#e9428e36]
コンパイルします。
$ make
BVHController.soが作成されたらコンパイルは成功です。
**設定 [#fe62edb4]
***ファイルの移動 [#fb87d967]
次にbvhファイル読み込み用のサンプル形状モデルをパスが通っ...
$ cp bvh_man.x3d ../../share/sigverse/data/shape/
''クライアント側のSIGViewerのインストール場所''
(デフォルトでは
C:\Program Files\SIGViewer_<vesion>\SIGViewer\release)
''にも同様のファイルを置きます。''
次に世界ファイルとエージェント設定ファイルをxmlディレクト...
$ cp BVHWorld.xml ../xml/
$ cp Man-bvh.xml ../xml/
(※コピー先 ../../share/sigverse/data/xml/)
***bvhファイルの取得 [#v7e3fd25]
読み込ませたいbvhファイルを取得してカレントディレクトリ(~...
***世界ファイルの設定 [#w8dc6fa2]
次に読み込ませたいbvhのファイル名を世界ファイルに記述しま...
$ cd ..
$ emacs BVHWorld.xml
BVHWorld.xml
#highlight(xml:firstline[19]){{
<!--BVHファイル名の指定-->
<set-attr-value name="BvhFile" value="./readBVH/f...
}}
↓
#highlight(xml:firstline[19]){{
<!--BVHファイル名の指定-->
<set-attr-value name="BvhFile" value="./readBVH/A...
}}
bvhファイルはSIGVerseを実行するディレクトリからのパスを指...
BVHWorld.xml
#highlight(xml){{
<?xml version="1.0" encoding="UTF-8"?>
<world name="newworld">
<!--重力の設定-->
<gravity x="0.0" y="-9.8" z="0.0"/>
<!--エージェントMan-niiの設定-->
<instanciate class="Man-bvh.xml">
<!--エージェント名-->
<set-attr-value name="name" value="man_000"/>
<!--C++言語の指定-->
<set-attr-value name="language" value="c++"/>
<!--オブジェクトファイルBVHController.soの指定-->
<set-attr-value name="implementation" value="./r...
<!--BVHファイル名の指定-->
<set-attr-value name="BvhFile" value="./readBVH/...
<!--動力学演算をfalseに設定-->
<set-attr-value name="dynamics" value="false"/>
<!--エージェントの位置(x,y,z)-->
<set-attr-value name="x" value="0.0"/>
<set-attr-value name="y" value="50.0"/>
<set-attr-value name="z" value="0.0"/>
</instanciate>
</world>
}}
**実行 [#l9a95abd]
これで準備は整いました。それでは実行してみましょう。
$ ./sigserver.sh -p 9001 -w BVHWorld.xml
SIGViewerでサーバに接続するとエージェントが手を広げて立っ...
Sendボタンを押してシミュレーションを開始するとbvhファイル...
#ref(motion_1.jpg)
エージェントがキックします。
**サンプルモデル [#f5ec3378]
bvh読み込みサンプルモデル(bvh_man.x3d)で定義された関節名...
#ref(joint_name.jpg)
**参考ページ [#a4b2f90f]
-[[Real animation software PV STUDIO>http://www.privatest...
-[[尾下研究室 BVH モーションファイル 読み込み&表示 プロ...
#highlight(end)
Up:[[Tutorial]] Previous:[[物体を持つ動作]] ...
End:
Up:[[Tutorial]] Previous:[[物体を持つ動作]] ...
#contents
*BVHファイルの読み込み [#x19ad21f]
ここではBVH形式のモーションデータをSIGVerseで読み込むサン...
**サンプルコードの取得 [#r8a2a8f0]
まずSIGVerseがインストールされたディレクトリに移動します。
$ cd ~/sigverse-<version>/bin
次にsoicoまたはsocio2サーバの以下のディレクトリからサンプ...
↓こちらからも取得できます。
#ref(readBVH.tar.gz)
$ cp /home/SIGVerse/samples/readBVH.tar.gz .
$ tar zxvf readBVH.tar.gz
$ cd readBVH
このパッケージの中には以下のファイルが含まれています。
-サンプルコード
#ref(BVH.cpp)
#ref(BVH.h)
#ref(BVHController.cpp)
#ref(BVHController.h)
-世界ファイル
#ref(BVHWorld.xml)
-エージェント設定ファイル
#ref(Man-bvh.xml)
-bvhファイル読み込み用人間型サンプルモデル
#ref(bvh_man.x3d)
-Makefile
#ref(Makefile)
**コンパイル [#dc0eecc8]
それでは早速コンパイルをしてみましょう。
***Makefile修正 [#d1d66155]
Makefileを自分の環境に合わせて修正します。
$ emacs Makefile
Makefile
#SIGVerseソースの場所指定
SIG_SRC = /home/<user-name>/sigverse-<version>/include/...
#オブジェクトファイルの指定
OBJS = BVH.o BVHController.so BVHController.o
all: $(OBJS)
#コンパイルを行います。
BVHController.o: BVHController.cpp
g++ -DCONTROLLER -DNDEBUG -DUSE_ODE -DdDOUBLE -I...
BVH.o: BVH.cpp
g++ -DCONTROLLER -DNDEBUG -DUSE_ODE -DdDOUBLE -I...
BVHController.so: BVHController.o BVH.o
g++ -shared -o BVHController.so BVHController.o ...
SIG_SRC = /home/&color(red){<user-name>};/sigverse-&colo...
の部分の<user-name>, <version>をそれぞれ自分のユーザ名、...
***make [#e9428e36]
コンパイルします。
$ make
BVHController.soが作成されたらコンパイルは成功です。
**設定 [#fe62edb4]
***ファイルの移動 [#fb87d967]
次にbvhファイル読み込み用のサンプル形状モデルをパスが通っ...
$ cp bvh_man.x3d ../../share/sigverse/data/shape/
''クライアント側のSIGViewerのインストール場所''
(デフォルトでは
C:\Program Files\SIGViewer_<vesion>\SIGViewer\release)
''にも同様のファイルを置きます。''
次に世界ファイルとエージェント設定ファイルをxmlディレクト...
$ cp BVHWorld.xml ../xml/
$ cp Man-bvh.xml ../xml/
(※コピー先 ../../share/sigverse/data/xml/)
***bvhファイルの取得 [#v7e3fd25]
読み込ませたいbvhファイルを取得してカレントディレクトリ(~...
***世界ファイルの設定 [#w8dc6fa2]
次に読み込ませたいbvhのファイル名を世界ファイルに記述しま...
$ cd ..
$ emacs BVHWorld.xml
BVHWorld.xml
#highlight(xml:firstline[19]){{
<!--BVHファイル名の指定-->
<set-attr-value name="BvhFile" value="./readBVH/f...
}}
↓
#highlight(xml:firstline[19]){{
<!--BVHファイル名の指定-->
<set-attr-value name="BvhFile" value="./readBVH/A...
}}
bvhファイルはSIGVerseを実行するディレクトリからのパスを指...
BVHWorld.xml
#highlight(xml){{
<?xml version="1.0" encoding="UTF-8"?>
<world name="newworld">
<!--重力の設定-->
<gravity x="0.0" y="-9.8" z="0.0"/>
<!--エージェントMan-niiの設定-->
<instanciate class="Man-bvh.xml">
<!--エージェント名-->
<set-attr-value name="name" value="man_000"/>
<!--C++言語の指定-->
<set-attr-value name="language" value="c++"/>
<!--オブジェクトファイルBVHController.soの指定-->
<set-attr-value name="implementation" value="./r...
<!--BVHファイル名の指定-->
<set-attr-value name="BvhFile" value="./readBVH/...
<!--動力学演算をfalseに設定-->
<set-attr-value name="dynamics" value="false"/>
<!--エージェントの位置(x,y,z)-->
<set-attr-value name="x" value="0.0"/>
<set-attr-value name="y" value="50.0"/>
<set-attr-value name="z" value="0.0"/>
</instanciate>
</world>
}}
**実行 [#l9a95abd]
これで準備は整いました。それでは実行してみましょう。
$ ./sigserver.sh -p 9001 -w BVHWorld.xml
SIGViewerでサーバに接続するとエージェントが手を広げて立っ...
Sendボタンを押してシミュレーションを開始するとbvhファイル...
#ref(motion_1.jpg)
エージェントがキックします。
**サンプルモデル [#f5ec3378]
bvh読み込みサンプルモデル(bvh_man.x3d)で定義された関節名...
#ref(joint_name.jpg)
**参考ページ [#a4b2f90f]
-[[Real animation software PV STUDIO>http://www.privatest...
-[[尾下研究室 BVH モーションファイル 読み込み&表示 プロ...
#highlight(end)
Up:[[Tutorial]] Previous:[[物体を持つ動作]] ...
Page: