private void Awake() { KinectWrapper.NuiCameraElevationGetAngle(out angle); Debug.Log("Start up"); Debug.Log("Current angle = " + angle); KinectWrapper.NuiCameraElevationSetAngle(0); }
void Update() { KinectManager manager = KinectManager.Instance; KinectWrapper.NuiCameraElevationGetAngle(out angle); Debug.Log("Current angle = " + angle); if (manager && manager.IsInitialized()) { if (angle < 4 && !manager.IsUserDetected()) { Debug.Log("Current angle = " + angle); KinectWrapper.NuiCameraElevationSetAngle(5); } //backgroundImage.renderer.material.mainTexture = manager.GetUsersClrTex(); if (backgroundImage && (backgroundImage.material.GetTexture(0) == null)) { backgroundImage.material.SetTexture(0, manager.GetUsersClrTex()); } // Vector3 vRight = BottomRight - BottomLeft; // Vector3 vUp = TopLeft - BottomLeft; int iJointIndex = (int)TrackedJoint; if (manager.IsUserDetected()) { uint userId = manager.GetPlayer1ID(); if (manager.IsJointTracked(userId, iJointIndex)) { Vector3 posJoint = manager.GetRawSkeletonJointPos(userId, iJointIndex); if (posJoint != Vector3.zero) { // 3d position to depth Vector2 posDepth = manager.GetDepthMapPosForJointPos(posJoint); // depth pos to color pos Vector2 posColor = manager.GetColorMapPosForDepthPos(posDepth); float scaleX = (float)posColor.x / KinectWrapper.Constants.ColorImageWidth; float scaleY = 1.0f - (float)posColor.y / KinectWrapper.Constants.ColorImageHeight; // Vector3 localPos = new Vector3(scaleX * 10f - 5f, 0f, scaleY * 10f - 5f); // 5f is 1/2 of 10f - size of the plane // Vector3 vPosOverlay = backgroundImage.transform.TransformPoint(localPos); //Vector3 vPosOverlay = BottomLeft + ((vRight * scaleX) + (vUp * scaleY)); Debug.Log(scaleY); if (OverlayObject) { Vector3 vPosOverlay = Camera.main.ViewportToWorldPoint(new Vector3(scaleX, scaleY, distanceToCamera)); OverlayObject.transform.position = Vector3.Lerp(OverlayObject.transform.position, vPosOverlay, smoothFactor * Time.deltaTime); } if (OverlayObject) { Vector3 vPosOverlay = Camera.main.ViewportToWorldPoint(new Vector3(scaleX, scaleY, distanceToCamera)); OverlayObject.transform.position = Vector3.Lerp(OverlayObject.transform.position, vPosOverlay, smoothFactor * Time.deltaTime); } } } } } }