Example #1
0
    private void PerformeGesture(HandState hs, GestureMover gm)
    {
        switch (hs)
        {
        case HandState.NotTracked:
            gm.NotTracked();
            break;

        case HandState.Closed:
            gm.CloseHand();
            break;

        case HandState.Open:
            gm.OpenHand();
            break;

        case HandState.Lasso:
            gm.Lasso();
            break;
        }
    }
Example #2
0
    void Awake()
    {
        Controller = gameObject.GetComponent <CharacterController> ();

        if (Controller == null)
        {
            Debug.LogWarning("OVRPlayerController: No CharacterController attached.");
        }

        // We use OVRCameraRig to set rotations to cameras,
        // and to be influenced by rotation
        OVRCameraRig[] CameraControllers;
        CameraControllers = gameObject.GetComponentsInChildren <OVRCameraRig> ();

        if (CameraControllers.Length == 0)
        {
            Debug.LogWarning("OVRPlayerController: No OVRCameraRig attached.");
        }
        else if (CameraControllers.Length > 1)
        {
            Debug.LogWarning("OVRPlayerController: More then 1 OVRCameraRig attached.");
        }
        else
        {
            CameraController = CameraControllers [0];
        }


        YRotation = transform.rotation.eulerAngles.y;

        Physics.IgnoreLayerCollision(0, 8);          //ignores collisions between the player and all objects



        menu   = gameObject.GetComponent <Menu> ();
        source = GetComponent <UnityEngine.AudioSource> ();


        addAtoms = gameObject.GetComponent <AddAtoms> ();
        addAtoms.Init();          // load the file

        addAtoms.parsePDB();      //populate the scene

        Quaternion ort = (HmdRotatesY) ? CameraController.centerEyeAnchor.rotation : transform.rotation;

        addAtoms.setPosition(ort * Vector3.forward * 30 + this.transform.position);          //centers the atoms infront of the user


        //initiate the kinect
        _Sensor = KinectSensor.GetDefault();
        if (_Sensor != null)
        {
            _Mapper = _Sensor.CoordinateMapper;
            _Reader = _Sensor.OpenMultiSourceFrameReader(FrameSourceTypes.Body | FrameSourceTypes.Depth);

            rightHand = transform.FindChild("RightHand").gameObject;
            leftHand  = transform.FindChild("LeftHand").gameObject;

            rightHandMover = rightHand.GetComponent <GestureMover> ();
            leftHandMover  = leftHand.GetComponent <GestureMover> ();

            var frameDesc = _Sensor.DepthFrameSource.FrameDescription;
            depthFrameWidth = frameDesc.Width;

            if (!_Sensor.IsOpen)
            {
                _Sensor.Open();
            }


            _gestureDatabase    = VisualGestureBuilderDatabase.Create(Application.streamingAssetsPath + "/Menu2.gbd");
            _gestureFrameSource = VisualGestureBuilderFrameSource.Create(_Sensor, 0);
            foreach (var gesture in _gestureDatabase.AvailableGestures)
            {
                _gestureFrameSource.AddGesture(gesture);

                if (gesture.Name == "Menu2")
                {
                    _menu = gesture;
                }
            }

            _gestureFrameReader          = _gestureFrameSource.OpenReader();
            _gestureFrameReader.IsPaused = true;
        }
    }