void Start() { KinectManager kinectManager = KinectManager.Instance; if (kinectManager) { // remove all users, filters and avatar controllers kinectManager.avatarControllers.Clear(); kinectManager.ClearKinectUsers(); // get the mono scripts. avatar controllers and gesture listeners are among them MonoBehaviour[] monoScripts = FindObjectsOfType(typeof(MonoBehaviour)) as MonoBehaviour[]; // locate the available avatar controllers foreach (MonoBehaviour monoScript in monoScripts) { // if(typeof(AvatarController).IsAssignableFrom(monoScript.GetType()) && // monoScript.enabled) if ((monoScript is AvatarController) && monoScript.enabled) { AvatarController avatar = (AvatarController)monoScript; kinectManager.avatarControllers.Add(avatar); } } // locate Kinect gesture manager, if any kinectManager.gestureManager = null; foreach (MonoBehaviour monoScript in monoScripts) { // if(typeof(KinectGestures).IsAssignableFrom(monoScript.GetType()) && // monoScript.enabled) if ((monoScript is KinectGestures) && monoScript.enabled) { kinectManager.gestureManager = (KinectGestures)monoScript; break; } } // locate the available gesture listeners kinectManager.gestureListeners.Clear(); foreach (MonoBehaviour monoScript in monoScripts) { // if(typeof(KinectGestures.GestureListenerInterface).IsAssignableFrom(monoScript.GetType()) && // monoScript.enabled) if ((monoScript is KinectGestures.GestureListenerInterface) && monoScript.enabled) { //KinectGestures.GestureListenerInterface gl = (KinectGestures.GestureListenerInterface)monoScript; kinectManager.gestureListeners.Add(monoScript); } } // check for gesture manager if (kinectManager.gestureListeners.Count > 0 && kinectManager.gestureManager == null) { Debug.Log("Found " + kinectManager.gestureListeners.Count + " gesture listener(s), but no gesture manager in the scene. Adding KinectGestures-component..."); kinectManager.gestureManager = kinectManager.gameObject.AddComponent <KinectGestures>(); } } }
void Start() { KinectManager manager = KinectManager.Instance; if (manager) { manager.Player1Avatars.Clear(); manager.Player2Avatars.Clear(); AvatarController[] avatars = FindObjectsOfType(typeof(AvatarController)) as AvatarController[]; foreach (AvatarController avatar in avatars) { manager.Player1Avatars.Add(avatar.gameObject); } manager.ResetAvatarControllers(); manager.ClearKinectUsers(); // add available gesture listeners manager.gestureListeners.Clear(); MonoBehaviour[] listeners = FindObjectsOfType(typeof(MonoBehaviour)) as MonoBehaviour[]; foreach (MonoBehaviour listener in listeners) { if (typeof(KinectGestures.GestureListenerInterface).IsAssignableFrom(listener.GetType())) { KinectGestures.GestureListenerInterface gl = (KinectGestures.GestureListenerInterface)listener; manager.gestureListeners.Add(gl); } } } }
void Update() { if (!kinectManager || !saverPlayer || sensorData == null) { return; } // check if the body-data is playing bool bPlayerActive = saverPlayer.IsPlaying(); // check for users while playing if (sensorData.trackedBodiesCount > 0) { lastUserTime = Time.realtimeSinceStartup; } bool bUserFound = (Time.realtimeSinceStartup - lastUserTime) < userLostMaxTime; if (!bPlayerActive && !bUserFound) { saverPlayer.StartPlaying(); } else if (bPlayerActive && bUserFound) { saverPlayer.StopRecordingOrPlaying(); kinectManager.ClearKinectUsers(); } }
public void UserLost(uint userId, int userIndex) { KinectManager manager = KinectManager.Instance; GestureInfo.text = "User lost"; players.Remove(userId); manager.Player1Avatars = new List <GameObject>(); manager.Player2Avatars = new List <GameObject>(); manager.ClearKinectUsers(); manager.ResetAvatarControllers(); DefenderManager.ResetDebugTracker(); }
void Start() { KinectManager manager = KinectManager.Instance; if (manager) { // remove all users, filters and avatar controllers manager.avatarControllers.Clear(); manager.ClearKinectUsers(); // get the mono scripts. avatar controllers and gesture listeners are among them MonoBehaviour[] monoScripts = FindObjectsOfType(typeof(MonoBehaviour)) as MonoBehaviour[]; // locate the available avatar controllers foreach (MonoBehaviour monoScript in monoScripts) { // if(typeof(AvatarController).IsAssignableFrom(monoScript.GetType()) && // monoScript.enabled) if ((monoScript is AvatarController) && monoScript.enabled) { AvatarController avatar = (AvatarController)monoScript; manager.avatarControllers.Add(avatar); } } // locate Kinect gesture manager, if any manager.gestureManager = null; foreach (MonoBehaviour monoScript in monoScripts) { // if(typeof(KinectGestures).IsAssignableFrom(monoScript.GetType()) && // monoScript.enabled) if ((monoScript is KinectGestures) && monoScript.enabled) { manager.gestureManager = (KinectGestures)monoScript; break; } } // locate the available gesture listeners manager.gestureListeners.Clear(); foreach (MonoBehaviour monoScript in monoScripts) { // if(typeof(KinectGestures.GestureListenerInterface).IsAssignableFrom(monoScript.GetType()) && // monoScript.enabled) if ((monoScript is KinectGestures.GestureListenerInterface) && monoScript.enabled) { //KinectGestures.GestureListenerInterface gl = (KinectGestures.GestureListenerInterface)monoScript; manager.gestureListeners.Add(monoScript); } } } }
void Start() { KinectManager manager = KinectManager.Instance; if (manager) { manager.ClearKinectUsers(); AvatarController[] avatars = FindObjectsOfType(typeof(AvatarController)) as AvatarController[]; foreach (AvatarController avatar in avatars) { manager.avatarControllers.Add(avatar); } } }
void Start() { KinectManager kinectManager = KinectManager.Instance; if (kinectManager) { // remove all users & filters kinectManager.ClearKinectUsers(); // refresh gesture listeners KinectGestureManager gestureManager = kinectManager.gestureManager; if (gestureManager) { gestureManager.RefreshGestureListeners(); } } }
IEnumerator WaitForKinect() { Debug.Log("Waiting for Kinect"); calibrationImage.fillAmount = 0; calibrationCompletionRate.text = (Mathf.CeilToInt(calibrationImage.fillAmount * 100)).ToString() + "%"; kinectMan.ClearKinectUsers(); bool calibrateKinect = true; //kinectWaitingScreen.SetActive(true); //kinect.StartAcquiringTargetBody(); #if ENABLE_CALIBRATION yield return(new WaitUntil(() => kinectMan.IsUserDetected())); #endif while (calibrationImage.fillAmount < 1f) { #if ENABLE_CALIBRATION calibrateKinect = kinectMan.IsUserDetected(); #endif if (!calibrateKinect) { Debug.Log("Break waiting for Kinect coroutine"); //set fill to 0; //restart calibration in 0.5s; startCalibration(); calibrationImage.DOFillAmount(0.0f, 0.2f); calibrationText.text = "CALIBRATION WAS INTERRUPTED!"; yield break; } if (calibrationImage != null) { calibrationImage.fillAmount = calibrationImage.fillAmount + 0.01f; calibrationImage.color = Color.Lerp(Color.white, new Color(1.0f, 1.0f, 1.0f), calibrationImage.fillAmount); } calibrationCompletionRate.text = (Mathf.CeilToInt(calibrationImage.fillAmount * 100)).ToString() + "%"; if (calibrationText != null) { calibrationText.text = calibrationImage.fillAmount < 0.3f ? "IN PROGRESS..." : calibrationImage.fillAmount < 0.5f ? "HALFWAY THERE!" : calibrationImage.fillAmount < 0.95f ? "JUST A LITTLE MORE!" : "COMPLETED!"; } yield return(new WaitForSeconds(0.02f)); } if (calibrationImageParent != null) { calibrationImageParent.transform.DOPunchScale(new Vector3(0.1f, 0.1f), 0.5f, 5, 0.5f); } //if (calibrationText != null) // calibrationText.transform.DOLocalJump(calibrationText.transform.localPosition, 100f, 1, 0.4f); TrinaxManager.trinaxAudioManager.PlayUISFX(TrinaxAudioManager.AUDIOS.CALIBRATION_DONE, TrinaxAudioManager.AUDIOPLAYER.UI_SFX); yield return(new WaitForSeconds(1.5f)); CalibrationCanvas.DOFade(0, 0.2f).OnComplete(() => { CalibrationCanvas.blocksRaycasts = false; CalibrationCanvas.gameObject.SetActive(false); }); yield return(new WaitForSeconds(0.65f)); Debug.Log("Calibration Complete"); calibrated = true; GameStarting?.Invoke(); }