// Update is called once per frame void Update() { if (Input.GetKeyDown (KeyCode.Space)) { calibrationPoints = new Vector2[] { new Vector2(0.6950065f,1.96167f), new Vector2(-0.8923265f,2.011135f), new Vector2(-1.026978f,3.05445f), new Vector2(1.254533f,3.204662f) }; demoInstructionText.text = ""; Application.LoadLevel (postSetupLevelName); progress = calibrationProgress.Left_Calibration; } kinectManager = KinectManager.Instance; uint playerID = kinectManager != null ? kinectManager.GetPlayer1ID() : 0; switch (progress) { case calibrationProgress.One_Started: case calibrationProgress.Two_Started: case calibrationProgress.Three_Started: case calibrationProgress.Four_Started: { Vector3 realWorldUserPosition = kinectManager.GetUserPosition(playerID); realWorldCalPointSum += Time.deltaTime * (new Vector2(realWorldUserPosition.x,realWorldUserPosition.z)); } break; } }
public void ReceiveGesture(KinectGestures.Gestures gesture) { switch (progress) { case calibrationProgress.None: case calibrationProgress.One_Done: case calibrationProgress.Two_Done: case calibrationProgress.Three_Done: { if (gesture == KinectGestures.Gestures.SwipeDown) { Destroy (calibrationIndicator); demoInstructionText.text = calibrationPointInProgressInstruction; realWorldCalPointSum = new Vector2(); calTimeStart = Time.time; progress = (calibrationProgress)((int)progress + 1); } } break; case calibrationProgress.One_Started: case calibrationProgress.Two_Started: case calibrationProgress.Three_Started: case calibrationProgress.Four_Started: { if (gesture == KinectGestures.Gestures.SwipeUp) { switch (progress) { case calibrationProgress.One_Started: calibrationPoints[3] = realWorldCalPointSum / (Time.time - calTimeStart); calibrationIndicator = createCalibrationTarget (new Vector2 (1-wideGap, 1-deepGap)); demoInstructionText.text = calibrationStartPointInstruction; break; case calibrationProgress.Two_Started: calibrationPoints[2] = realWorldCalPointSum / (Time.time - calTimeStart); calibrationIndicator = createCalibrationTarget (new Vector2 (1-wideGap, deepGap)); demoInstructionText.text = calibrationStartPointInstruction; break; case calibrationProgress.Three_Started: calibrationPoints[1] = realWorldCalPointSum / (Time.time - calTimeStart); calibrationIndicator = createCalibrationTarget (new Vector2 (wideGap, deepGap)); demoInstructionText.text = calibrationStartPointInstruction; break; case calibrationProgress.Four_Started: calibrationPoints[0] = realWorldCalPointSum / (Time.time - calTimeStart); if (linePrefab) { lines[0].SetPosition(0,new Vector3( -2.5f ,3.8f ,2f )); lines[0].SetPosition(1,new Vector3( 2.5f ,3.8f ,2f )); lines[1].SetPosition(0,new Vector3( 0f ,2.3f ,2f )); lines[1].SetPosition(1,new Vector3( 0f ,5.3f ,2f )); lines[2].SetPosition(0,new Vector3( calibrationPoints[0].x, 2.3f + calibrationPoints[0].y, 2f )); lines[2].SetPosition(1,new Vector3( calibrationPoints[1].x, 2.3f + calibrationPoints[1].y, 2f )); lines[3].SetPosition(0,new Vector3( calibrationPoints[1].x, 2.3f + calibrationPoints[1].y, 2f )); lines[3].SetPosition(1,new Vector3( calibrationPoints[2].x, 2.3f + calibrationPoints[2].y, 2f )); lines[4].SetPosition(0,new Vector3( calibrationPoints[2].x, 2.3f + calibrationPoints[2].y, 2f )); lines[4].SetPosition(1,new Vector3( calibrationPoints[3].x, 2.3f + calibrationPoints[3].y, 2f )); lines[5].SetPosition(0,new Vector3( calibrationPoints[3].x, 2.3f + calibrationPoints[3].y, 2f )); lines[5].SetPosition(1,new Vector3( calibrationPoints[0].x, 2.3f + calibrationPoints[0].y, 2f )); for(int i = 0; i < lines.Length; i++) lines[i].gameObject.SetActive(true); } demoInstructionText.text = calibrationCompleteInstruction; break; } progress = (calibrationProgress)((int)progress + 1); } } break; case calibrationProgress.Done: { if (gesture == KinectGestures.Gestures.SwipeDown || gesture == KinectGestures.Gestures.SwipeUp) { for(int i = 0; i < lines.Length; i++) lines[i].gameObject.SetActive(false); demoInstructionText.text = ""; Application.LoadLevel(postSetupLevelName); progress = calibrationProgress.Left_Calibration; } } break; default: break; } }
// Use this for initialization void Start() { lines = new LineRenderer[6]; if (linePrefab) { for(int i = 0; i < lines.Length; i++) { lines[i] = Instantiate(linePrefab) as LineRenderer; lines[i].transform.parent = transform; lines[i].gameObject.SetActive(false); } } calibrationPoints[0] = new Vector2 (0, 1); calibrationPoints[1] = new Vector2 (1, 1); calibrationPoints[2] = new Vector2 (1, 0); calibrationPoints[3] = new Vector2 (0, 0); calibrationStartPointInstruction = calibrationStartPointInstruction.Replace("\\n", "\n"); calibrationPointInProgressInstruction = calibrationPointInProgressInstruction.Replace("\\n", "\n"); calibrationCompleteInstruction = calibrationCompleteInstruction.Replace("\\n", "\n"); demoInstructionText.text = calibrationStartPointInstruction; calibrationIndicator = createCalibrationTarget (new Vector2 (wideGap, 1-deepGap)); progress = calibrationProgress.None; }