Up:Tutorial? Previous:HMD+KINECT Next:メッセージ送受信
※このサンプルはサーバv121029, ビューワーv2.0.1以降で正常に動作します。
ここではSIGVerse世界のエンティティにメッセージを送る簡単なサービスプロバイダを作成します。 サービスプロバイダを使用することによりクライアント側からサーバ側に様々なデータを提供することができるようになります。
開発ツールとしてVC++(2008)を使用することを前提とします。
以下のページからサービスライブラリSIGService_v<version>.zipをダウンロードし、展開します。
VC++2008で新規プロジェクトを作成します。ファイル→新規作成→プロジェクト
新しいプロジェクトのダイアログが立ち上がるとWin32のWin32コンソールアプリケーションを選択し、プロジェクト名"MyService"と入力してOKボタンを押します。
アプリケーションウィザードのウィンドウが立ち上がったら次へをクリックし追加のオプションで空のプロジェクトにチェックを入れ、完了ボタンを押します。
ソリューションエクスプローラのソースファイルを右クリックし、「追加」→「新しい項目」を選択しMyService.cppをソースファイルに追加します。
MyService.cpp
connectの引数で指定するホスト名とポート番号は自分の環境に合わせて置き換えます。
SIGVerseサービスライブラリの設定を行います。
ビルドが正常に行えるか確認してみてください。
これで準備は整いました。
まずチュートリアルのサンプル人間型エージェントの操作の「コマンドによるエージェントの操作」をサーバ側で実行します。サーバ側でSIGVerseを起動するときには関数connectの第2引数で指定したポート番号を-pオプションで指定します。
サーバを起動したらビューワーからサーバに接続して"START"ボタンを押してシミュレーションを開始します。この状態でメッセージ送信プログラムを実行してみてください。エージェントがお辞儀したら成功です。
次に作成したサービスをプラグインとしてビューワーに登録し、ビューワーから起動する方法を説明します。
サービスサンプルを以下のように修正します。
MyService.cpp
SIGVerseサービスではサーバのホスト名とポート番号がメイン関数の引数として与えられます。
SIGViewerに読み込ませるようにするため、以下の設定をしてからビルドします。
ビルドが成功してDebug(もしくはRelease)フォルダにMyService.sigができたら次はビューワーにサービスを登録します。
先ほどと同様に人間型エージェントの操作の「コマンドによるエージェントの操作」をサーバ側で実行します。ビューワーからサーバに接続して"START"ボタンを押してシミュレーションを開始します。
人間が手を下した状態になったら、メニューバーの「Service」→「Start」をクリックし、MyService.sigを選択し、サービスを開始します。
エージェントがお辞儀をすれば成功です。
メッセージ送信ツールの作成(v120330, v1.4.8)
Up:Tutorial? Previous:HMD+KINECT Next:メッセージ送受信