忍者ブログ
サブタイトル:「mer2のマイノリティ・レポート(笑)」 --- 最近忍者ブログの仕様が変わったようで、一部の画像が見えなくなってますが、画像のURLコピペで見られます。(どうしよう困ったな) --- ご用件など、ございましたらtwitterまでどうぞ。
[587] [586] [585] [584] [583] [582] [581] [580] [579] [578] [577]
×

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



  色々と期待していたz800SDKのヘッドトラッキングサンプルですが、得られるデータはYaw、Pitch、Rollのみです。どうなってんのよ。話が違うぢゃないの。まあ落ち着いてソースを読みましょう。

  main.cpp内の38行目、GetHeadsetData()でヘッドトラッキングなデータを得ています。ヘッドトラッキングデータはEMADeviceDataという構造体に一気に入っているようです。EMADevice.hを見てみましょう。129行目。

typedef struct _EMADeviceData
{
    float AccX ;
    float AccY ;
    float AccZ ;
    float AngX ;
    float AngY ;
    float AngZ ;
    float North ;
    float Yaw ;
    float Pitch ;
    float Roll ;

#ifdef __cplusplus
public:
    void ToDirectX ( )
    {
        // Convert to DirectX coordinate system
        float placeHolder ;
        placeHolder = AccX ;
        AccX = AccY ;
        AccY = - AccZ ;
        AccZ = - placeHolder ;

        placeHolder = AngX ;
        AngX = AngY ;
        AngY = - AngZ ;
        AngZ = - placeHolder ;

        Yaw = - Yaw ;
        Pitch = - Pitch ;
        Roll = - Roll ;
    }
#endif

} EMADeviceData ;

  有りました。スペックどおりに9軸データが取れそうです。
Yaw、Pitch、Roll - ジャイロ
AccX、AccY、AccZ - 加速度
AngX、AngY、AngZ - 地磁気

ってかんじでしょうか。あれ?1個多いぞ?Northって何よ。

  何はともあれ表示させてみましょう。「Sample_YawPitchRoll」をいじってみました。どうぞ(z800ユーザー限定)。

z800_showall.jpg  こんなんなります。









  各データを表示しただけではさっぱりなので、差分も表示させてみました。それでも分かりづらいですが。グラフィカルに表示すると分かりやすくなりそうですが、私にはそんな事ほえっとできる程のスキルはございません。ご了承下さい。

  分かりづらいなりにも、しばらくいじっていると傾向は掴めます。

・ Yaw、Pitch、Roll
  お馴染みのYaw、Pitch、Rollです。これだけ絶対座標で出力されています。
  Yawだけはプログラム起動時(new EMADevice ( )した時)の正面方向が0になります。Pitch、Rollはプログラム起動時の状態に関わらず水平な位置が0になるようです。

・ AccX、AccY、AccZ
  プログラム起動時の向きに対して、上下(AccX)、左右(AccY)、前後(AccZ)の瞬間的な(多分)加速度を出しています。動きが無い時は0近辺で安定します。
  X,Y,Z軸の絶対座標は取れないみたい。なるほど、3D LauncherにおけるX,Y,Z方向への移動に関する挙動の謎が解せました。

・ AngX、AngY、AngZ
  500を基準にして、Yaw、Pitch、Roll方向の瞬間的な変化量(?)を出しています。動きが無い時は500近辺で安定します。
  AngX - Pitch、AngY - Yawに対応しているのがちょっと謎です。EMADeviceData定義内のToDirectX ( )で謎の変換してるのよね。

・ Northっていうのは方位磁石のようです。0で北、+-3.0で南、-1.5(?)で東、+1.5(?)で西。
  もしかしてYawデータの代わりにNorthデータを使ったほうが正確なYaw方向のヘッドトラッキングデータが取れるんじゃないか?既にやっているなら別だが。

  z800に関する謎のベールが剥がされてかなりすっきりしましたが、またやりたい事が増えちゃいました。ああ困った。

  今回、何度もz800をPCと通信させて気が付いたのですが、z800はゴーグル部分を垂直に立てておくと確実に接続できるみたいです。あっという間に繋がります。ゴーグル部分が水平になってると接続に失敗してしまうみたいです。
PR


この記事にコメントする
お名前
タイトル
文字色
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
ついったやろうぜ
ブログ内検索
検索エンジンから来た人、思った結果が出なかったら再検索してちょ。
最新コメント
[08/27 BernardSr]
[08/27 BernardSr]
[08/27 BernardSr]
[12/29 GroverIcow]
[12/26 gayenKinesl]
[12/25 gayenKincfv]
[12/25 geRoesonokp]
[12/24 geRoesonmxu]
[06/30 LindsayDom]
[06/24 Ayukupim]
[06/22 francinerj2]
[06/21 Karsewis]
[06/17 Porsulik]
[06/16 Porsulik]
[06/16 Porsulik]
[06/16 Amimior]
[06/15 WilfordMof]
[06/11 lakeishatb1]
[06/04 Mathewlomi]
[05/31 tiopomWarriorvrp]
[05/31 Lasdumor]
[05/29 Aredorer]
[05/27 IMPUCKICT]
[05/26 Asosans]
[05/24 RaymondZice]
アクセス解析
カウンター
カレンダー
03 2024/04 05
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
プロフィール
HN:
mer2
性別:
男性
趣味:
野良猫の餌付け
Powered by ニンジャブログ  Designed by 穂高
Copyright © PCで立体視してみるぶろぐ All Rights Reserved
忍者ブログ / [PR]