Example #1
0
        private void Start()
        {
            // init filter
            kalmanFilters = new SimpleKalman[4];
            for (int i = 0; i < kalmanFilters.Length; i++)
            {
                kalmanFilters[i]   = new SimpleKalman();
                kalmanFilters[i].Q = kalmanQ;
                kalmanFilters[i].R = kalmanR;
            }

            orientationFilter = new SimpleKalman[2];
            for (int i = 0; i < orientationFilter.Length; i++)
            {
                orientationFilter[i]   = new SimpleKalman();
                orientationFilter[i].Q = 0.0001;
                orientationFilter[i].R = 0.005;
            }
            hipHeightFilter   = new SimpleKalman();
            hipHeightFilter.Q = 0.0001;
            hipHeightFilter.R = 0.003;

            InitFeet();

            // register data receiver becaus head rotation is needed here
            UnityModelDataManager mdm = GetComponent <UnityModelDataManager>();

            mdm.SubscribeReceiver(this);
        }
        public void Initialize(Transform leftFoot, Transform rightFoot)
        {
            // init filter
            kalmanFilters = new SimpleKalman[4];
            for (int i = 0; i < kalmanFilters.Length; i++)
            {
                kalmanFilters[i]   = new SimpleKalman();
                kalmanFilters[i].Q = kalmanQ;
                kalmanFilters[i].R = kalmanR;
            }

            orientationFilter = new SimpleKalman[2];
            for (int i = 0; i < orientationFilter.Length; i++)
            {
                orientationFilter[i]   = new SimpleKalman();
                orientationFilter[i].Q = 0.0001;
                orientationFilter[i].R = 0.005;
            }
            hipHeightFilter   = new SimpleKalman();
            hipHeightFilter.Q = 0.0001;
            hipHeightFilter.R = 0.003;

            viveLeftFoot  = leftFoot;  //GameObject.FindGameObjectWithTag("ViveTracker01").transform;
            viveRightFoot = rightFoot; //GameObject.FindGameObjectWithTag("ViveTracker02").transform;

            //if (useHandTracking) {
            //    viveLeftHand = GameObject.FindGameObjectWithTag("ViveController01").transform;
            //    viveRightHand = GameObject.FindGameObjectWithTag("ViveController02").transform;
            //}

            InitFeet();

            // register data receiver becaus head rotation is needed here
            UnityModelDataManager mdm = GetComponent <UnityModelDataManager>();

            mdm.SubscribeReceiver(this);
            //mdm.userID = ID;
            UserManager.Instance.AddTrackedEntity(this);
        }
Example #3
0
    // -------------------------

    #region unity callbacks
    void Start()
    {
        kalman   = new SimpleKalman();
        kalman.Q = 0.00005;
        kalman.R = 0.01;
    }
 void Start()
 {
     kalman = new SimpleKalman();
 }