Ejemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        eou.Init();

        var t = eou.GetTransformBySerialNumber(serialNumber);

        eou.SetGameObjectTransform(ref Tracker, t);

        var p = Tracker.transform.position;
        //Tracker.transform.position = p + t.position - old.position;

        var q = Tracker.transform.rotation;

        //Tracker.transform.rotation = q * t.rotation * Quaternion.Inverse(old.rotation);

        p    = Tracker2.transform.position;
        p[0] = p[0] + t.velocity[0] * Time.deltaTime;
        p[1] = p[1] + t.velocity[1] * Time.deltaTime;
        p[2] = p[2] + t.velocity[2] * Time.deltaTime;
        Tracker2.transform.position = p;

        var r = Tracker2.transform.rotation.eulerAngles;

        r[0] = r[0] + Mathf.Rad2Deg * (t.angularVelocity[0] * Time.deltaTime);
        r[1] = r[1] + Mathf.Rad2Deg * (t.angularVelocity[1] * Time.deltaTime);
        r[2] = r[2] + Mathf.Rad2Deg * (t.angularVelocity[2] * Time.deltaTime);
        Tracker2.transform.rotation = Quaternion.Euler(r);

        old = t;
    }
Ejemplo n.º 2
0
    // Update is called once per frame
    void Update()
    {
        eou.Init();
        eou.AutoExitOnQuit();

        var t = eou.GetTransformBySerialNumber(serialNumber);

        if (offset == null)
        {
            offset = t;
        }

        eou.SetGameObjectLocalTransformWithOffset(ref Tracker, t, offset);
        Debug.Log(t.ToString());
    }
Ejemplo n.º 3
0
 // Use this for initialization
 void Start()
 {
     eou = new EasyOpenVRUtil();
     old = eou.GetTransformBySerialNumber(serialNumber);
 }
Ejemplo n.º 4
0
        private void GenericTimer(object sender, EventArgs e)
        {
            HmdMatrix34_t m = new HmdMatrix34_t();

            OpenVR.ChaperoneSetup.GetWorkingStandingZeroPoseToRawTrackingPose(ref m);

            RoomMatrixTextBox.Text =
                String.Format("{0:0.00}, {1:0.00}, {2:0.00}, {3:0.00}\n{4:0.00}, {5:0.00}, {6:0.00}, {7:0.00}\n{8:0.00}, {9:0.00}, {10:0.00}, {11:0.00}\n", m.m0, m.m1, m.m2, m.m3, m.m4, m.m5, m.m6, m.m7, m.m8, m.m9, m.m10, m.m11);
            if (
                m.m0 == 0 &&
                m.m1 == 0 &&
                m.m2 == 0 &&
                m.m3 == 0 &&
                m.m4 == 0 &&
                m.m5 == 0 &&
                m.m6 == 0 &&
                m.m7 == 0 &&
                m.m8 == 0 &&
                m.m9 == 0 &&
                m.m10 == 0 &&
                m.m11 == 0
                )
            {
                RoomMatrixTextBox.Background      = new SolidColorBrush(Color.FromRgb(255, 100, 100));
                SetRoomMatrixButtonName.IsEnabled = false;
            }
            else
            {
                RoomMatrixTextBox.Background      = new SolidColorBrush(Color.FromRgb(0, 255, 0));
                SetRoomMatrixButtonName.IsEnabled = true;
            }


            var t1 = util.GetTransformBySerialNumber("VMT_0");

            if (t1 != null)
            {
                string roomPos = string.Format("{0:0.00}, {1:0.00}, {2:0.00}", t1.position.X, t1.position.Y, t1.position.Z);

                //Unity座標系ではZが反転する
                if (CoordinateCombo.SelectedIndex == 1)
                {
                    roomPos = string.Format("{0:0.00}, {1:0.00}, {2:0.00}", t1.position.X, t1.position.Y, -t1.position.Z);
                }

                CheckPositionTextBox.Text = roomPos;
                if (roomPos == "1.00, 1.00, 1.00")
                {
                    CheckPositionTextBox.Background = new SolidColorBrush(Color.FromRgb(0, 255, 0));
                }
                else
                {
                    CheckPositionTextBox.Background = new SolidColorBrush(Color.FromRgb(255, 100, 100));
                }
            }
            var t2 = util.GetTransformBySerialNumberRaw("VMT_0");

            if (t2 != null)
            {
                CheckPositionRawTextBox.Text = string.Format("{0:0.00}, {1:0.00}, {2:0.00}", t2.position.X, t2.position.Y, t2.position.Z);
            }

            if (aliveCnt > 90)
            {
                installPath              = "";
                DriverVersion.Text       = "-";
                DriverVersion.Foreground = new SolidColorBrush(Color.FromRgb(255, 255, 255));
                ControlDock.IsEnabled    = false;
            }
            else
            {
                aliveCnt++;
            }

            InputVMTHapticTextBox.Background = new SolidColorBrush(Color.FromRgb(255, 255, 255));
        }