int UpdateUser(int userId, OpenNISkeleton skeleton) { // valid users? if (0 != userId) { // is the user still valid? if (!UserTracker.CalibratedUsers.Contains(userId)) { userId = 0; Skeleton1.RotateToCalibrationPose(); } } // look for a new userId if we dont have one if (0 == userId) { foreach (int uId in UserTracker.CalibratedUsers) { if (!UserIdTaken(uId)) { userId = uId; break; } } } // update our skeleton based on active user id if (0 != userId) { UserTracker.UpdateSkeleton(userId, skeleton); } return(userId); }
// Update is called once per frame void Update() { // do we have a valid calibrated user? if (0 != userId) { // is the user still valid? if (!UserTracker.CalibratedUsers.Contains(userId)) { userId = 0; foreach (OpenNISkeleton skel in Skeletons) { skel.RotateToCalibrationPose(); } } } // look for a new userId if we dont have one if (0 == userId) { // just take the first calibrated user if (UserTracker.CalibratedUsers.Count > 0) { userId = UserTracker.CalibratedUsers[0]; } } // update our skeleton based on active user id if (0 != userId) { foreach (OpenNISkeleton skel in Skeletons) { UserTracker.UpdateSkeleton(userId, skel); } } }
void CalibrateUser() { // do we have a valid calibrated user? if (IsTracking) { // is the user still valid? if (!UserTracker.CalibratedUsers.Contains(USER_ID)) { USER_ID = 0; foreach (OpenNISkeleton skel in Skeletons) { skel.RotateToCalibrationPose(); } } } // look for a new userId if we dont have one if (!IsTracking) { // just take the first calibrated user if (UserTracker.CalibratedUsers.Count > 0) { USER_ID = UserTracker.CalibratedUsers[0]; outOfFrame = false; } } // we have a valid userId, lets use it for something! if (IsTracking) { // see if user is out o'frame Vector3 com = UserTracker.GetUserCenterOfMass(USER_ID); if (outOfFrame != (com == Vector3.zero)) { outOfFrame = (com == Vector3.zero); SendMessage("UserOutOfFrame", outOfFrame, SendMessageOptions.DontRequireReceiver); } // update our skeleton based on active user id foreach (OpenNISkeleton skel in Skeletons) { UserTracker.UpdateSkeleton(USER_ID, skel); } // Always update skeleton points STATIC_SKELETON = Skeletons[0]; if (IS_FIRST_RUN) // Only calibrate once { TIME = Time.time; IS_FIRST_RUN = false; } } }
// Update is called once per frame void Update() { //Debug.Log(IsTracking); // do we have a valid calibrated user? if (0 != userId) { // is the user still valid? if (!UserTracker.CalibratedUsers.Contains(userId)) { userId = 0; foreach (OpenNISkeleton skel in Skeletons) { skel.RotateToCalibrationPose(); } } } // look for a new userId if we dont have one if (0 == userId) { // just take the first calibrated user if (UserTracker.CalibratedUsers.Count > 0) { userId = UserTracker.CalibratedUsers[0]; outOfFrame = false; } } // we have a valid userId, lets use it for something! if (0 != userId) { // see if user is out o'frame Vector3 com = UserTracker.GetUserCenterOfMass(userId); if (outOfFrame != (com == Vector3.zero)) { outOfFrame = (com == Vector3.zero); SendMessage("UserOutOfFrame", outOfFrame, SendMessageOptions.DontRequireReceiver); } // update our skeleton based on active user id foreach (OpenNISkeleton skel in Skeletons) { UserTracker.UpdateSkeleton(userId, skel); } } }
//public GameManager2 gm; int UpdateUser(int userId, OpenNISkeleton [] skeletons) { // valid users? if (0 != userId) { // is the user still valid? if (!UserTracker.CalibratedUsers.Contains(userId)) { userId = 0; foreach (OpenNISkeleton skeleton in Skeleton1) { skeleton.RotateToCalibrationPose(); } // Skeleton1.RotateToCalibrationPose(); } } // look for a new userId if we dont have one if (0 == userId) { foreach (int uId in UserTracker.CalibratedUsers) { if (!UserIdTaken(uId)) { userId = uId; break; } } } // update our skeleton based on active user id if (0 != userId) { foreach (OpenNISkeleton skeleton in skeletons) { UserTracker.UpdateSkeleton(userId, skeleton); } if (firstTime) { firstTime = false; // gm.ResetGame(); } } return(userId); }