忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[350]  [349]  [348]  [347]  [346]  [345]  [344]  [343]  [342]  [341]  [338
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

右下のカウンターを見てもらえば分かる通り2万アクセスを超えたので、記念に以下のソフトウェアを配布します。


以前、ロボットのモデルを作成するソフトを作っていましたがOpenGLをそのまま使っていたので見た目が微妙だった印象があります。
そこで、Ogre3D、CEGUI、OpenRTM-aistを使ったモデル表示ソフトを作りました。
以下の機能があります。
  • GUIによる操作
  • 3Dモデル表示
  • パーティクル表示
  • アニメーション設定
  • 物理シミュレーション
  • サウンド再生
  • GUI作成
  • 文字表示
  • 画面分割
  • RTコンポーネントによる操作
モデルなどを操作するRTコンポーネントは独自に作成できます。
これによりゲームのコントローラーやkinect等のRTCによるモデルの操作が容易にできるようになると思いますし、またロボット実機と連動させたり音声による操作等も既存のRTCの組み合わせでできるようになるのではないかと考えてます。
ひょっとしたらですけど、簡単なオンラインゲームも作れるかもしれません。

オンラインマニュアルのリンクからダウンロードできます。

RTCを作成する方法ですが、RTCBuilderでPythonのRTCを作成します。
そして、MyModuleInitを
def MyModuleInit(manager):
  manager._factory.unregisterObject("test")
  testInit(manager)
  return manager.createComponent("test")

と変更します。
test、testInitは作成したコンポーネントのものに変更してください。

あとはRTCのクラスに必要に応じて以下の関数を追加してください。
  • def mouseMoved(self, mx, my, mdx, mdy):マウスが移動したときに呼び出される
  • def mousePressed(self, b):マウスのボタンを押したときに呼び出される
  • def mouseReleased(self, b):マウスのボタンを離したときに呼び出される
  • def ogre_init(self):ファイルを読み込んだときに呼び出される
  • def ogre_loop(self):描画のタイミングで呼び出される
  • def Simloop(self):物理シミュレーションの各ステップで呼び出される
  • def Contacthandler(self, b1, b2):物理シミュレーションで物体が衝突したときに呼び出される。
あとは、GUIからFile → Open PythonでRTCを読み込むだけです。

RTCのアクティビティでモデル等の生成ができない不具合があります。
移動はできます。




このソフトにより作成したゲームの動画です。ネタ要素が強いのでニコニコ動画にアップロードしておきました。ただし、このゲームは付属していません。

もっと詳細なマニュアルを作りたいとは思っています。






にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ 
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新CM
[08/31 ysuga]
[08/31 Nobu]
[08/31 ysuga]
[12/11 Nobu]
[12/11 Kanamura]
最新TB
プロフィール
HN:
Nobu
年齢:
35
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]