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)); }
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"); //} }