// Update is called once per frame void Update() { if (_trackedobj.index == SteamVR_TrackedObject.EIndex.None) { return; } _controller = SteamVR_Controller.Input((int)_trackedobj.index); if (_controller.GetPressUp(SteamVR_Controller.ButtonMask.Touchpad)) { //Vector2 touchpad = _leftController.GetAxis(EVRButtonId.k_EButton_Axis0); Vector2 touchpad = _controller.GetAxis(Valve.VR.EVRButtonId.k_EButton_SteamVR_Touchpad); _video.Playing = !_video.Playing; if (_video.Playing) { _video.Play(); } else { _video.Pause(); } } }
void HandleVideoPlayback() { if (_leftController.GetPressUp(SteamVR_Controller.ButtonMask.Touchpad) && _video != null) { Vector2 touchpad = _leftController.GetAxis(EVRButtonId.k_EButton_SteamVR_Touchpad); if (touchpad.y > 0.7f) { print("Pressed Stop"); _video.Stop(); _playing = false; _annotationManager.DisableAnnotations(); _annotationManager.currentTime = 0.0f; _annotationManager.IsPlayingVideo = false; GameObject o = GameObject.Find("Avatar"); if (o != null) { o.GetComponent <SkeletonRepresentation>().hide(); } } else if (touchpad.y < -0.7f) { print("Pressed Play"); _playing = !_playing; if (_playing) { _video.Play(); SetRepresentation(_representation); _annotationManager.IsPlayingVideo = true; } else { _video.Pause(); _annotationManager.IsPlayingVideo = false; } } else if (touchpad.x > 0.7f) { print("Pressed Foward"); _video.Skip5Sec(); } else if (touchpad.x < -0.7f) { print("Pressed Backward"); _video.Back5Sec(); } } if (_video != null && _video.getVideoTime() != 0 && _video.getVideoDuration() != 0) { float ratio = _video.getVideoTime() / _video.getVideoDuration(); //_slider.SetActive(true); _slider.GetComponentInChildren <Slider>().value = ratio; //_slider.transform.position = new Vector3(0, 2.5f, 0); // _slider.transform.forward = Camera.main.transform.forward; } if (_video != null) { _video.Update(); } }
// Update is called once per frame void Update() { if (_rightObj.index == SteamVR_TrackedObject.EIndex.None || _leftObj.index == SteamVR_TrackedObject.EIndex.None) { return; } _rightController = SteamVR_Controller.Input((int)_rightObj.index); _leftController = SteamVR_Controller.Input((int)_leftObj.index); if (_annotationManager != null) { _annotationManager.SetRightHand(_rightHand); _annotationManager.SetRightHandController(_rightController); _annotationManager.SetHead(_head); _annotationManager.Update(); } InputOpenMenus(); if (_video != null) { if (_video.getTime() != 0 && _video.getDuration() != 0) { float ratio = _video.getTime() / _video.getDuration(); //_slider.SetActive(true); _slider.GetComponentInChildren <Slider>().value = ratio; //_slider.transform.position = new Vector3(0, 2.5f, 0); // _slider.transform.forward = Camera.main.transform.forward; } } if (_menu == MenuOpened.DatasetSelect) { SelectDataset(); } else if (_menu == MenuOpened.ColorSelect) { // SelectColor(); } else if (_menu == MenuOpened.AnnotationSelect) { _menuGO.transform.position = new Vector3(_rightHand.transform.position.x, _rightHand.transform.position.y + 0.15f, _rightHand.transform.position.z); Vector3 rot = _head.transform.forward; rot.y = 0.0f; _menuGO.transform.rotation = Quaternion.LookRotation(rot); SelectAnnotationType(); } else if (_menu == MenuOpened.AnnotationEdit) { _menuGO.transform.position = new Vector3(_rightHand.transform.position.x, _rightHand.transform.position.y + 0.15f, _rightHand.transform.position.z); Vector3 rot = _head.transform.forward; rot.y = 0.0f; _menuGO.transform.rotation = Quaternion.LookRotation(rot); EditAnnotations(); } //if no menu is opened, annotation input, and playback control else if (_menu == MenuOpened.None) { if (!_controlDataset.activeSelf && _video != null) { _controlDataset.SetActive(true); } else { _controlDataset.transform.position = new Vector3(_leftHand.transform.position.x, _leftHand.transform.position.y + 0.15f, _leftHand.transform.position.z); Vector3 rot = Camera.main.transform.forward; rot.y = 0.0f; _controlDataset.transform.rotation = Quaternion.LookRotation(rot); } if (_leftController.GetPressUp(SteamVR_Controller.ButtonMask.Touchpad)) { //Vector2 touchpad = _leftController.GetAxis(EVRButtonId.k_EButton_Axis0); Vector2 touchpad = _leftController.GetAxis(EVRButtonId.k_EButton_SteamVR_Touchpad); if (touchpad.y > 0.7f) { print("Pressed Stop"); _video.Stop(); _playing = false; _controlDataset.SetActive(false); _annotationManager.DisableAnnotations(); _annotationManager.currentTime = 0.0f; _annotationManager.IsPlayingVideo = false; GameObject o = GameObject.Find("Avatar"); if (o != null) { o.GetComponent <SkeletonRepresentation>().hide(); } } else if (touchpad.y < -0.7f) { print("Pressed Play"); _playing = !_playing; if (_playing) { _video.Play(); SetRepresentation(_representation); _annotationManager.IsPlayingVideo = true; } else { _video.Pause(); _annotationManager.IsPlayingVideo = false; } } else if (touchpad.x > 0.7f) { print("Pressed Foward"); _video.Skip5Sec(); } else if (touchpad.x < -0.7f) { print("Pressed Backward"); _video.Back5Sec(); } } /* //Got controllers, now handle input. * if (_rightController.GetPressUp(SteamVR_Controller.ButtonMask.Trigger)) * { * _playing = !_playing; * * if (_playing) * _video.Play(); * else * _video.Pause(); * } */ if (_rightController.GetPressDown(SteamVR_Controller.ButtonMask.Trigger) && _annotationManager != null && !_annotationManager.IsAnnotationActive) { EnableRightPointer(); if (_annotationManager != null) { _annotationManager.EditAnnotation(); Debug.Log("Annotation Selected = " + _annotationManager.currentAnnotationSelected); } } if (_rightController.GetPressUp(SteamVR_Controller.ButtonMask.Trigger) && _annotationManager != null && !_annotationManager.IsAnnotationActive) { Ray raycast = new Ray(_rightHand.transform.position, _rightHand.transform.forward); RaycastHit hit; bool bHit = Physics.Raycast(raycast, out hit); if (bHit && hit.collider.gameObject.name.Equals("VRPlane")) { Debug.Log("colide with = " + hit.collider.gameObject.name); GameObject camera = GameObject.Find("[CameraRig]"); camera.transform.position = new Vector3(hit.point.x, camera.transform.position.y, hit.point.z); } DisableRightPointer(); } } }