public void Start() { RUISInputManager inputManager = FindObjectOfType(typeof(RUISInputManager)) as RUISInputManager; RUISHoldGestureRecognizer holdGestureRecognizer = GetComponent <RUISHoldGestureRecognizer>(); if (inputManager) { if (switchToAvailableKinect) { if (bodyTrackingDevice == RUISSkeletonController.bodyTrackingDeviceType.Kinect1 && !inputManager.enableKinect && inputManager.enableKinect2) { bodyTrackingDevice = RUISSkeletonController.bodyTrackingDeviceType.Kinect2; } else if (bodyTrackingDevice == RUISSkeletonController.bodyTrackingDeviceType.Kinect2 && !inputManager.enableKinect2 && inputManager.enableKinect) { bodyTrackingDevice = RUISSkeletonController.bodyTrackingDeviceType.Kinect1; if (gestureRecognizer != holdGestureRecognizer) // Switching to the only selection gesture that RUIS has for Kinect 1 { gestureRecognizer.enabled = false; holdGestureRecognizer.enabled = true; gestureRecognizer = holdGestureRecognizer; Debug.LogWarning("Switched gesture recognizer of '" + name + "' to " + typeof(RUISHoldGestureRecognizer) + " because " + "Kinect 1 is enabled instead of Kinect 2, and at the moment that is the only supported Kinect 1 gesture."); gestureSelectionScriptName = holdGestureRecognizer.ToString(); } } else if (!inputManager.enableKinect2 && !inputManager.enableKinect) { Debug.LogWarning("Kinect 1 and 2 are not enabled in RUIS InputManager, disabling Skeleton Wand gameobject '" + name + "'."); gameObject.SetActive(false); } bodyTrackingDeviceID = (int)bodyTrackingDevice; } } if (gestureRecognizer == holdGestureRecognizer) { wandSelector.toggleSelection = true; wandSelector.grabWhileButtonDown = false; } else { showVisualizer = false; // HACK: this is mainly for RUISFistGestureRecognizer. If other gestures are added, comment this line } }
public void Start() { RUISInputManager inputManager = FindObjectOfType(typeof(RUISInputManager)) as RUISInputManager; if (inputManager) { if (switchToAvailableKinect) { if (bodyTrackingDevice == RUISSkeletonController.bodyTrackingDeviceType.Kinect1 && !inputManager.enableKinect && inputManager.enableKinect2) { bodyTrackingDevice = RUISSkeletonController.bodyTrackingDeviceType.Kinect2; } else if (bodyTrackingDevice == RUISSkeletonController.bodyTrackingDeviceType.Kinect2 && !inputManager.enableKinect2 && inputManager.enableKinect) { bodyTrackingDevice = RUISSkeletonController.bodyTrackingDeviceType.Kinect1; RUISHoldGestureRecognizer holdGestureRecognizer = GetComponent <RUISHoldGestureRecognizer>(); if (gestureRecognizer != holdGestureRecognizer) { gestureRecognizer.enabled = false; holdGestureRecognizer.enabled = true; gestureRecognizer = holdGestureRecognizer; Debug.LogWarning("Switched gesture recognizer of '" + name + "' to " + typeof(RUISHoldGestureRecognizer) + " because " + "Kinect 1 is enabled instead of Kinect 2, and at the moment that is the only supported Kinect 1 gesture."); gestureSelectionScriptName = holdGestureRecognizer.ToString(); } } else if (!inputManager.enableKinect2 && !inputManager.enableKinect) { Debug.LogWarning("Kinect 1 and 2 are not enabled in RUIS InputManager, disabling Skeleton Wand gameobject '" + name + "'."); gameObject.SetActive(false); } bodyTrackingDeviceID = (int)bodyTrackingDevice; } } }