忍者ブログ

nyaruratoの製作記録

フィギュアやプラモデルについてもそもそと語っていきます。 最近は電子工作・ゲーム製作に興味アリ

[PR]

×

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

oculus riftの加速度センサから頭の変位を出したかった話

◆oculusから加速度取れるなら時間積分すれば頭の変位が取れるのでは?と以前から思っていたので今回試してみました。

ちなみに方法は最初はKeyNotFoundExceptionで弾かれてうまくできませんでした。
oculus riftに画面出力させるようにするとなぜかうまくいきました。
でも今試したらoculusの画面出力を切ってても普通に通る・・・理由は別にありそうです。

加速度を取り出して見たところ、oculusを机の上に置いた状態で

こう出てきました。

ーーーーーーーーースクリプト書くーーーーーー


Debug.LogにVector3を突っ込んだ状態。
こんな感じで出てきましたが、オブジェクトは勝手に動いていく・・・・。
Debug.Logに変位のfloatの値を突っ込んでみると



こんな感じに。Vector3をDebug.Logで表示させた数の位以下の値が影響を与えている様子。

ならばと思い、
d[i] =  Mathf.Round(d[i]*100.0f);
変位を100倍して小数部分を四捨五入してみる。







こんな感じになった。
当然元の場所には戻ってこない。

諦めました。

一応ソース貼っときます。
プログラミングはまだまだ初心者なのでこれはこうしたらいいよとか言っていただけると嬉しいです。
そもそもの考え方がおかしいとかあったら教えて下さい。



--------------------------------------------------------
 
using UnityEngine;
using System.Collections;

public class otamesi : MonoBehaviour {


float[] m_a = new float[3];
float[] m_v = new float[3];
float[] neo_a = new float[3];//加速度の増加量(微小時間の加速度
float[] a = new float[3];//oculusからとる加速度
float[] v = new float[3];//速度
float[] d = new float[3];//変位


// Use this for initialization
void Start () {
OVRDevice.GetAcceleration( 0, ref m_a[0], ref m_a[1], ref m_a[2] );
}



// Update is called once per frame
void Update () {
float time = Time.deltaTime;
OVRDevice.GetAcceleration( 0, ref a[0], ref a[1], ref a[2] );


for(int i=0;i<3;i++){
neo_a[i] = m_a[i] - a[i];
v[i] = neo_a[i] * time + m_v[i];
d[i] = neo_a[i] * time * time / 2.0f + m_v[i] * time;

d[i] = Mathf.Round(d[i]*100.0f);

m_a[i] = a[i];
m_v[i] = v[i];
}

Vector3 obj_pos = new Vector3(-d[0],-d[1],-d[2]);

gameObject.transform.position += obj_pos;
Debug.Log(d[0]+","+d[1]+","+d[2]);

}
}

拍手[0回]

PR

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

カレンダー

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

[07/16 listener]
[07/15 nyarurato]
[07/12 listener]
[12/19 satotaku]

最新TB

プロフィール

HN:
にゃるらと
性別:
男性
自己紹介:
こんにちは。
プラモやフィギュアなどについて書いていくつもりのブログです。
Twitter
https://twitter.com/sakura_metal

バーコード

ブログ内検索

Copyright © nyaruratoの製作記録 : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]