Exemplo n.º 1
0
        private void RecordData()
        {
            // check if player is tracked
            if (player == null)
            {
                player = VivePlayerManager.Instance.trackedEntity1;

                if (player == null)
                {
                    return;
                }
            }
            // check if feet are available
            if (recTracker01 == null || recTracker02 == null)
            {
                recTracker01 = player.viveLeftFoot.transform;
                recTracker02 = player.viveRightFoot.transform;

                if (recTracker01 == null || recTracker02 == null)
                {
                    return;
                }
            }

            newData.Add(new UnityTrackedData(recTracker01.position, recTracker01.rotation.eulerAngles));
            newData.Add(new UnityTrackedData(recTracker02.position, recTracker02.rotation.eulerAngles));
        }
Exemplo n.º 2
0
        private IEnumerator CheckForPlayer()
        {
            // get first one - only used for recording
            while (true)
            {
                print("Search trackers");
                yield return(new WaitForSeconds(0.2f));

                if (trackedEntity1 == null)
                {
                    GameObject t1 = GameObject.FindGameObjectWithTag("ViveTracker01");
                    GameObject t2 = GameObject.FindGameObjectWithTag("ViveTracker02");

                    if (t1 && t2)
                    {
                        trackedEntity1 = Instantiate(trackedPrefab.gameObject).GetComponent <UnityViveTracking>();
                        trackedEntity1.Initialize(t1.transform, t2.transform);
                    }
                }
                yield return(new WaitForSeconds(0.1f));

                if (trackedEntity2 == null)
                {
                    GameObject t1 = GameObject.FindGameObjectWithTag("ViveTracker03");
                    GameObject t2 = GameObject.FindGameObjectWithTag("ViveTracker04");

                    if (t1 && t2)
                    {
                        trackedEntity2 = Instantiate(trackedPrefab.gameObject).GetComponent <UnityViveTracking>();
                        trackedEntity2.Initialize(t1.transform, t2.transform);
                    }
                }
            }

            //entities.Add(trackedEntity1);
            //while (true) {
            //    yield return new WaitForSeconds(0.2f);
            //    print("Search for further players");
            //}
        }