UpdateSkeleton() public method

public UpdateSkeleton ( int userId, OpenNISkeleton, skeleton ) : void
userId int
skeleton OpenNISkeleton,
return void
    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);
            }
        }
    }
Ejemplo n.º 3
0
    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);
            }
        }
    }
Ejemplo n.º 5
0
    //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);
    }