1 / 17

X-shot

X-shot. akinori quno yuta 親 tomo acco. プレゼンの流れ. モチベーション アプリケーション概要 設計 実装 デモビデオ. モチベーション. 実世界指向インタフェース X-Bar プラットフォームに依存しないゲーム Java , Java3D プログラミングスキルの向上. アプリケーションの概要. 3D シューティングゲーム 位置情報を 3D 空間にマッピング ディスプレイに Java3D で表示. 位置情報センサ. ユーザ. GUI. 使用するハードウェア. PC 1 台 X-Bar

akiko
Download Presentation

X-shot

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. X-shot akinori quno yuta 親 tomo acco

  2. プレゼンの流れ • モチベーション • アプリケーション概要 • 設計 • 実装 • デモビデオ

  3. モチベーション • 実世界指向インタフェース • X-Bar • プラットフォームに依存しないゲーム • Java , Java3D • プログラミングスキルの向上

  4. アプリケーションの概要 • 3Dシューティングゲーム • 位置情報を3D空間にマッピング • ディスプレイにJava3Dで表示 位置情報センサ ユーザ GUI

  5. 使用するハードウェア • PC 1台 • X-Bar • タグ2個

  6. システム構成図 Java3D X-Bar polaris (位置情報 サーバ) Position Information Client 位置情報 (X,Y,Z) 位置情報 (X,Y,Z) 弾丸を 飛ばす 銃の向き情報 大砲の発射 タグ キーボード 銃

  7. 実装 • Java3DによるGUI • シーングラフ • 弾と対象物の当たり判定 • Java3Dの衝突判定 • 銃口の向き計算 • 座標系について • IS-600から送られてくる値の誤差

  8. シーングラフ例 仮想空間 移動 自動車 視点 回転 ボディー シャーシ エンジン 前車軸 後車軸 右タイヤ 左タイヤ 右タイヤ 左タイヤ

  9. 実際のシーングラフ SimpleUniverse createStage createGameObject athletics setting createPlayer createEnemy createCamera PlayerController CollisionBounds もの 背景・照明 銃の動き 当たり判定 敵を作る ユーザの動き

  10. 弾の当たり判定 ■対象物 ・影響範囲 ・消す処理 ・変更許可 Java3Dの衝突判定機能を使用 ■弾 ・影響範囲 ・動き ・変更許可

  11. 銃の照準方向を計算 • IS-600 • 2つのタグの位置情報 → 照準のベクトル  • 注意した点 • 座標系の違い • 取得した値の誤差

  12. IS-600の座標系とJava3Dの座標系 ディスプレイ方向 北から南を向いている時

  13. これを解決するアルゴ リズムを考えなくては ならなない IS-600から得られる値の誤差 IS600はおかしな 値を送ってくること がある!! IS-600から0.01秒毎に値をとって カーソルのアニメーション

  14. 誤差を緩和するアルゴリズム(1) IS-600から0.01秒毎に値を得る 一つ前の値との 差が0.2m以上の場合 はずれ値と判断して 切捨て、変わりに一つ 前の値を代入 yes no この作業を値が10個たまるまで続ける 保存 信頼性の高い 値が0.1秒間 隔で得られる 10個たまった時点で平均を出す。

  15. 誤差を緩和するアルゴリズム(2) 2 値が10個たまった時点で平均を出す * 二つの平均の値の間を10等分する ◆信頼性が高い値 ◆比較的滑らかな アニメーション

  16. 誤差を緩和するアルゴリズムの限界 平均する値や分割する値を無限にすれば 限りなく信頼性の高い滑らかなアニメーションが実現可能 処理に時間がかかると 描画にディレイがかかる 分割する値を増やすと JAVA3Dでの描画が増える ため重くなる。

  17. 実際の動作 • デモのビデオ

More Related