KinectManager.Update C# (CSharp) Method

Update() public method

public Update ( ) : void
return void
    void Update()
    {
        if(OpenNIInitialized)
        {
            // Update to the next frame.
            KinectWrapper.Update(false);

            // If the players aren't all calibrated yet, draw the user map.
            if(!AllPlayersCalibrated || DisplayUserMap)
            {
                UpdateUserMap();
            }

            // Update player 1's models if he/she is calibrated and the model is active.
            if(Player1Calibrated)
            {
                foreach (AvatarController controller in Player1Controllers)
                {
                    if(controller.Active)
                    {
                        controller.UpdateAvatar(Player1ID, NearMode);
                    }
                }
            }

            // Update player 2's models if he/she is calibrated and the model is active.
            if(Player2Calibrated)
            {
                foreach (AvatarController controller in Player2Controllers)
                {
                    if(controller.Active)
                    {
                        controller.UpdateAvatar(Player2ID, NearMode);
                    }
                }
            }
        }

        // Kill the program with ESC.
        if(Input.GetKeyDown(KeyCode.Escape))
        {
            Application.Quit();
        }
    }

Usage Example

Example #1
0
    void Update()
    {
        KinectManager.Status status = _KinectManager.Update();

        _State.updates2++;
        switch (status)
        {
        case KinectManager.Status.ZeroBody:
            //Debug.Log("ZeroBody?");
            _State.handsEnabled = false;
            _State.updates++;
            return;

        case KinectManager.Status.MultiBody:
        case KinectManager.Status.OneBody:
            break;
        }
        _State.updates++;

        bool leftStatus, rightStatus;

        Kinect.CameraSpacePoint leftTip, rightTip;
        _StickRecognizer.FindTip(_KinectManager, out leftTip, out rightTip, out leftStatus, out rightStatus);
        if (leftStatus && rightStatus)
        {
            counter--;
            if (counter > 0)
            {
                return;
            }

            switch (_State.MainStatus)
            {
            case State.Status.Initial:
                Motion.onStartPlaying(_KinectManager);
                _DisplayManager.CreateHands();
                _State.MainStatus = State.Status.Menu;
                _DisplayManager.ChangeDrum(_State.MainStatus, _KinectManager.JointData[Kinect.JointType.Neck].Position);
                break;

            default:
                break;
            }

            // 플레이어는 항상 display 돼야 함
            _DisplayManager.DisplayPlayer(_KinectManager, leftTip, rightTip);
            Motion.Update(_KinectManager, leftTip, rightTip);
            _State.handsEnabled = true;
        }
        else
        {
            _State.handsEnabled = false;
        }
    }