private void Update() { if (NRInput.GetButtonDown(ControllerButton.HOME) && ARCinimaScene.isActive) { OnCancel(); } }
private void Update() { var deltaTouch = NRInput.GetDeltaTouch(); if (deltaTouch.y > float.Epsilon) { return; } var isSwipeRight = deltaTouch.x > float.Epsilon; var isSwipeLeft = deltaTouch.x < -float.Epsilon; switch (_state) { case State.Disabled: break; case State.Idle: if (isSwipeRight) { StartCoroutine(nameof(Record)); } break; case State.Record: if (isSwipeLeft) { StartCoroutine(nameof(Stop)); } break; default: throw new ArgumentOutOfRangeException(); } }
private void Update() { if (NRInput.GetButtonDown(ControllerButton.HOME) && !Key.Equals("cinima") && isActive) { SceneSwitchManager.Instance.GoToMainScene(); } }
private void OnDisable() { NRInput.RemoveClickListener(ControllerHandEnum.Right, ControllerButton.HOME, OnHomeButtonClick); NRInput.RemoveClickListener(ControllerHandEnum.Left, ControllerButton.HOME, OnHomeButtonClick); NRInput.RemoveClickListener(ControllerHandEnum.Right, ControllerButton.APP, OnAppButtonClick); NRInput.RemoveClickListener(ControllerHandEnum.Left, ControllerButton.APP, OnAppButtonClick); }
public override void Update() { base.Update(); if (controller == null) { NRInput.LaserVisualActive = false; NRInput.ReticleVisualActive = false; var inputSystem = Service as IMixedRealityInputSystem; var handedness = NRInput.DomainHand == ControllerHandEnum.Left ? Handedness.Left : Handedness.Right; var pointers = RequestPointers(SupportedControllerType.ArticulatedHand, handedness); var inputSource = inputSystem?.RequestNewGenericInputSource($"Nreal Light Controller", pointers, InputSourceType.Controller); controller = new NrealLightController(Microsoft.MixedReality.Toolkit.TrackingState.NotTracked, handedness, inputSource); controller.SetupConfiguration(typeof(NrealLightController)); for (int i = 0; i < controller.InputSource?.Pointers?.Length; i++) { controller.InputSource.Pointers[i].Controller = controller; } inputSystem.RaiseSourceDetected(controller.InputSource, controller); } controller.UpdateController(); // Change RaycastMode if (NRInput.GetButtonUp(ControllerButton.HOME)) { var inputSystem = Service as IMixedRealityInputSystem; inputSystem.RaiseSourceLost(controller.InputSource, controller); controller = null; NRInput.RaycastMode = NRInput.RaycastMode == RaycastModeEnum.Laser ? RaycastModeEnum.Gaze : RaycastModeEnum.Laser; } }
private void UpdateScroll() { if (controlZoom == false) { if (m_PreviousPos == Vector2.zero) { return; } Vector2 deltaMove = NRInput.GetTouch() - m_PreviousPos; m_PreviousPos = NRInput.GetTouch(); modelTarget.Rotate(m_AroundLocalAxis, deltaMove.x * m_TouchScrollSpeed * Time.deltaTime, Space.Self); } else { if (m_PreviousPos == Vector2.zero) { return; } Vector2 deltaMove = NRInput.GetTouch() - m_PreviousPos; m_PreviousPos = NRInput.GetTouch(); modelTarget.position = new Vector3(0f, 0f, modelTarget.position.z + deltaMove.y * m_TouchZoomScrollSpeed * Time.deltaTime); // modelTarget.position = new Vector3(modelTarget.position.z + deltaMove.x * m_TouchZoomScrollSpeed * Time.deltaTime, 0f,0f); } }
void Update() { // If the player doesn't click the trigger button, we are done with this update. if (!NRInput.GetButtonDown(ControllerButton.TRIGGER)) { return; } //code to Instantiate multiple Andy Models // Get controller laser origin. Transform laserAnchor = NRInput.AnchorsHelper.GetAnchor(ControllerAnchorEnum.RightLaserAnchor); RaycastHit hitResult; if (Physics.Raycast(new Ray(laserAnchor.transform.position, laserAnchor.transform.forward), out hitResult, 10)) { if (hitResult.collider.gameObject != null && hitResult.collider.gameObject.GetComponent <NRTrackableBehaviour>() != null) { var behaviour = hitResult.collider.gameObject.GetComponent <NRTrackableBehaviour>(); if (behaviour.Trackable.GetTrackableType() != TrackableType.TRACKABLE_PLANE) { return; } // Instantiate Andy model at the hit point / compensate for the hit point rotation. //Instantiate(AndyPlanePrefab, hitResult.point, Quaternion.identity, behaviour.transform); //Debug.Log(hitResult.point.ToString()); //code to Instantiate multiple Andy Models } } }
private void Update() { if (NRInput.GetButtonDown(ControllerButton.HOME)) { OnCancel(); } }
/// <summary> Refresh information texts. </summary> private void RefreshInfoTexts() { mainInfoText.text = "controller count: " + NRInput.GetAvailableControllersCount().ToString() + "\n" + "type: " + NRInput.GetControllerType().ToString() + "\n" + "current debug hand: " + m_CurrentDebugHand.ToString() + "\n" + "position available: " + NRInput.GetControllerAvailableFeature(ControllerAvailableFeature.CONTROLLER_AVAILABLE_FEATURE_POSITION).ToString() + "\n" + "rotation available: " + NRInput.GetControllerAvailableFeature(ControllerAvailableFeature.CONTROLLER_AVAILABLE_FEATURE_ROTATION).ToString() + "\n" + "gyro available: " + NRInput.GetControllerAvailableFeature(ControllerAvailableFeature.CONTROLLER_AVAILABLE_FEATURE_GYRO).ToString() + "\n" + "accel available: " + NRInput.GetControllerAvailableFeature(ControllerAvailableFeature.CONTROLLER_AVAILABLE_FEATURE_ACCEL).ToString() + "\n" + "mag available: " + NRInput.GetControllerAvailableFeature(ControllerAvailableFeature.CONTROLLER_AVAILABLE_FEATURE_MAG).ToString() + "\n" + "battery available: " + NRInput.GetControllerAvailableFeature(ControllerAvailableFeature.CONTROLLER_AVAILABLE_FEATURE_BATTERY).ToString() + "\n" + "vibration available: " + NRInput.GetControllerAvailableFeature(ControllerAvailableFeature.CONTROLLER_AVAILABLE_FEATURE_HAPTIC_VIBRATE).ToString() + "\n" + "rotation: " + NRInput.GetRotation(m_CurrentDebugHand).ToString("F3") + "\n" + "position: " + NRInput.GetPosition(m_CurrentDebugHand).ToString("F3") + "\n" + "touch: " + NRInput.GetTouch(m_CurrentDebugHand).ToString("F3") + "\n" + "trigger button: " + NRInput.GetButton(m_CurrentDebugHand, ControllerButton.TRIGGER).ToString() + "\n" + "home button: " + NRInput.GetButton(m_CurrentDebugHand, ControllerButton.HOME).ToString() + "\n" + "app button: " + NRInput.GetButton(m_CurrentDebugHand, ControllerButton.APP).ToString() + "\n" + "grip button: " + NRInput.GetButton(m_CurrentDebugHand, ControllerButton.GRIP).ToString() + "\n" + "touchpad button: " + NRInput.GetButton(m_CurrentDebugHand, ControllerButton.TOUCHPAD_BUTTON).ToString() + "\n" + "gyro: " + NRInput.GetGyro(m_CurrentDebugHand).ToString("F3") + "\n" + "accel: " + NRInput.GetAccel(m_CurrentDebugHand).ToString("F3") + "\n" + "mag: " + NRInput.GetMag(m_CurrentDebugHand).ToString("F3") + "\n" + "battery: " + NRInput.GetControllerBattery(m_CurrentDebugHand); extraInfoText.text = m_ExtraInfoStr; //Debug.Log("istouching:" + NRInput.IsTouching() + " value:" + NRInput.GetTouch(m_CurrentDebugHand).ToString("F3")); PrintInputState(); }
void Update() { #region PlayersTurnNr Logic //Player has to press trigger button to go on if (!NRInput.GetButtonDown(ControllerButton.TRIGGER)) { return; } //Must have 2 players in room if (PhotonNetwork.PlayerList.Length < 2) { return; } //Must be players turn if (PhotonNetwork.LocalPlayer.ActorNumber != PlayerInPlay) { return; } #endregion PlayersTurnNr Logic #region Select GameField // Get controller laser origin. Transform laserAnchor = NRInput.AnchorsHelper.GetAnchor(NRInput.RaycastMode == RaycastModeEnum.Gaze ? ControllerAnchorEnum.GazePoseTrackerAnchor : ControllerAnchorEnum.RightLaserAnchor); //Ray ray; if (Physics.Raycast(new Ray(laserAnchor.transform.position, laserAnchor.transform.forward), out hit, 20)) { photonView.RPC("exoh_prefab", RpcTarget.All, hit.transform.position, Quaternion.identity, hit.transform.name); } #endregion Select GameField }
//使用Joystick输入 private void UpdateJoystickAxis() { var touchpos = NRInput.GetTouch(); float xAxis = touchpos.x; float yAxis = touchpos.y; if (Mathf.Abs(yAxis) > 0.1f) { targetControlZDistance += yAxis * distanceIncrementOnSwipe * Time.deltaTime; targetControlZDistance = Mathf.Clamp(targetControlZDistance, distanceFromControllerMin, distanceFromControllerMax); controlZDistance = targetControlZDistance; } if (Mathf.Abs(xAxis) > 0.8f) { if (enableScale) { if (xAxis < 0) { transform.localScale = Vector3.Lerp(transform.localScale, minScale, 1f * Time.deltaTime); } else { transform.localScale = Vector3.Lerp(transform.localScale, maxScale, 0.1f * Time.deltaTime); } } else if (enableRotate) { touchPosXRemap = -Mathf.Sign(xAxis) * 0.01f * (objectInverted ? -1f : 1f); verifyRotation = verifyRotation * Quaternion.AngleAxis(touchPosXRemap * Mathf.Rad2Deg, Vector3.up); } } }
private void Update() { if ((NRInput.GetButtonDown(ControllerButton.APP) || Input.GetKeyDown(KeyCode.Q)) && m_IsInTest) { BackToMainPage(); } if (Input.GetKeyDown(KeyCode.S)) { JumpTo(TestType.Slam); } if (Input.GetKeyDown(KeyCode.P)) { JumpTo(TestType.Plane); } if (Input.GetKeyDown(KeyCode.M)) { JumpTo(TestType.Marker); } if (Input.GetKeyDown(KeyCode.O)) { JumpTo(TestType.M2p); } if (Input.GetKeyDown(KeyCode.N)) { JumpTo(TestType.SingleMarker); } }
private void Update() { if (NRInput.GetButtonDown(ControllerButton.HOME)) { GoToMainScene(); } }
void Update() { if ((!useMarker && !isRoomLoaded && NRInput.GetButtonUp(ControllerHandEnum.Left, ControllerButton.TRIGGER))) { RootID = 0; } if (RootID != -1 && !isRoomLoaded) { isRoomLoaded = true; if (OnLoadRoom != null) { OnLoadRoom(); } SceneManager.LoadSceneAsync("AWE_Room"); } //// Reset the world coordinates //if (ARInput.GetButtonDown(ControllerButtonEnum.OK) || ARInput.GetButtonDown(ControllerButtonEnum.HOME)) // specialNumber = 0; //// Double click OK, then click CANCEL for five times will reset marker //if (ARInput.GetButtonUp(ControllerButtonEnum.CANCEL)) //{ // specialNumber -= 1; // if (specialNumber == 1) // ResetMarker(); //} }
private void OnEnable() { NRInput.AddClickListener(ControllerHandEnum.Right, ControllerButton.HOME, OnHomeButtonClick); NRInput.AddClickListener(ControllerHandEnum.Left, ControllerButton.HOME, OnHomeButtonClick); NRInput.AddClickListener(ControllerHandEnum.Right, ControllerButton.APP, OnAppButtonClick); NRInput.AddClickListener(ControllerHandEnum.Left, ControllerButton.APP, OnAppButtonClick); NRDevice.OnAppQuit += OnApplicationQuit; }
private void Update() { if (NRInput.GetButtonDown(ControllerButton.HOME) || Input.GetKeyDown(KeyCode.R)) { NRSessionManager.Instance.Recenter(); } CheckQuit(); }
private void PrintInputState() { Debug.LogFormat("istouching:{0} getbutton app:{1} trigger:{2} home:{3} \n" + "getbuttondown app:{4} trigger:{5} home:{6} \n" + "getbuttonup app:{7} trigger:{8} home:{9} \n" + "origin touch:[{10}] gettouch:{11}", NRInput.IsTouching(), NRInput.GetButton(ControllerButton.APP), NRInput.GetButton(ControllerButton.TRIGGER), NRInput.GetButton(ControllerButton.HOME) , NRInput.GetButtonDown(ControllerButton.APP), NRInput.GetButtonDown(ControllerButton.TRIGGER), NRInput.GetButtonDown(ControllerButton.HOME) , NRInput.GetButtonUp(ControllerButton.APP), NRInput.GetButtonUp(ControllerButton.TRIGGER), NRInput.GetButtonUp(ControllerButton.HOME) , NRVirtualDisplayer.SystemButtonState.ToString(), NRInput.GetTouch(m_CurrentDebugHand).ToString("F3")); }
public override void TriggerHapticVibration(int index, float durationSeconds = 0.1f, float frequency = 1000f, float amplitude = 0.5f) { if (!Inited) { return; } if (NRInput.GetAvailableControllersCount() > 0 && NRInput.GetControllerType() == ControllerType.CONTROLLER_TYPE_PHONE) { OriginPhoneVibrateTool.TriggerVibrate(durationSeconds); } }
/// <summary> Updates the scroll. </summary> private void UpdateScroll() { if (m_PreviousPos == Vector2.zero) { return; } Vector2 deltaMove = NRInput.GetTouch() - m_PreviousPos; m_PreviousPos = NRInput.GetTouch(); modelTarget.Rotate(m_AroundLocalAxis, deltaMove.x * m_TouchScrollSpeed * Time.deltaTime, Space.Self); }
private void Update() { if (Input.GetKeyDown(KeyCode.Space) || NRInput.GetButtonDown(ControllerButton.APP)) { PreviewScreen.gameObject.SetActive(!PreviewScreen.gameObject.activeInHierarchy); NRInput.LaserVisualActive = !PreviewScreen.gameObject.activeInHierarchy; NRInput.ReticleVisualActive = !PreviewScreen.gameObject.activeInHierarchy; } this.BindPreviewTOController(); }
private void Update() { if (Input.GetKeyDown(KeyCode.R) || NRInput.GetButtonDown(ControllerButton.TRIGGER)) { Recorder.StartRecord(); } if (Input.GetKeyDown(KeyCode.T) || NRInput.GetButtonDown(ControllerButton.HOME)) { Recorder.StopRecord(); } }
/// <summary> Updates this object. </summary> void Update() { if (Input.GetKeyDown(KeyCode.Space) || NRInput.GetButtonDown(ControllerButton.TRIGGER)) { TakeAPhoto(); } if (m_PhotoCaptureObject != null) { Previewer.SetData(m_PhotoCaptureObject.PreviewTexture, true); } }
/// <summary> Updates this object. </summary> private void Update() { if (NRInput.GetAvailableControllersCount() < 2) { m_CurrentDebugHand = NRInput.DomainHand; } else { if (NRInput.GetButtonDown(ControllerHandEnum.Right, ControllerButton.TRIGGER)) { m_CurrentDebugHand = ControllerHandEnum.Right; } else if (NRInput.GetButtonDown(ControllerHandEnum.Left, ControllerButton.TRIGGER)) { m_CurrentDebugHand = ControllerHandEnum.Left; } } if (NRInput.GetButtonDown(m_CurrentDebugHand, ControllerButton.TRIGGER)) { AddExtraInfo("trigger_btn_down"); } if (NRInput.GetButtonDown(m_CurrentDebugHand, ControllerButton.HOME)) { AddExtraInfo("home_btn_down"); } if (NRInput.GetButtonDown(m_CurrentDebugHand, ControllerButton.APP)) { AddExtraInfo("app_btn_down"); } if (NRInput.GetButtonUp(m_CurrentDebugHand, ControllerButton.TRIGGER)) { AddExtraInfo("trigger_btn_up"); } if (NRInput.GetButtonUp(m_CurrentDebugHand, ControllerButton.HOME)) { AddExtraInfo("home_btn_up"); } if (NRInput.GetButtonUp(m_CurrentDebugHand, ControllerButton.APP)) { AddExtraInfo("app_btn_up"); } FollowMainCam(); RefreshInfoTexts(); }
void Update() { if (NRInput.GetButtonDown(ControllerButton.TRIGGER)) { RGBCamTexture.Play(); } if (NRInput.GetButtonDown(ControllerButton.HOME)) { RGBCamTexture.Stop(); } FrameCount.text = RGBCamTexture.FrameCount.ToString(); }
private void Update() { if (Input.GetKeyDown(KeyCode.Space) || NRInput.GetButtonDown(ControllerButton.APP)) { Root.SetActive(!Root.activeInHierarchy); NRInput.LaserVisualActive = !Root.activeInHierarchy; NRInput.ReticleVisualActive = !Root.activeInHierarchy; } if (isBindToController) { this.BindPreviewTOController(); } }
public override void Update() { base.Update(); if (controller == null) { NRInput.LaserVisualActive = false; NRInput.ReticleVisualActive = false; var inputSystem = Service as IMixedRealityInputSystem; var handedness = NRInput.DomainHand == ControllerHandEnum.Left ? Handedness.Left : Handedness.Right; var pointers = RequestPointers(SupportedControllerType.ArticulatedHand, handedness); var inputSource = inputSystem?.RequestNewGenericInputSource($"Nreal Light Controller", pointers, InputSourceType.Hand); controller = new NrealLightController(Microsoft.MixedReality.Toolkit.TrackingState.NotTracked, handedness, inputSource); controller.SetupConfiguration(typeof(NrealLightController)); for (int i = 0; i < controller.InputSource?.Pointers?.Length; i++) { controller.InputSource.Pointers[i].Controller = controller; } inputSystem.RaiseSourceDetected(controller.InputSource, controller); } controller.UpdateController(); // Change RaycastMode if (NRInput.GetButtonUp(ControllerButton.APP)) { var inputSystem = Service as IMixedRealityInputSystem; inputSystem.RaiseSourceLost(controller.InputSource, controller); inputSystem.RaiseSourceDetected(controller.InputSource, controller); NRInput.RaycastMode = NRInput.RaycastMode == RaycastModeEnum.Laser ? RaycastModeEnum.Gaze : RaycastModeEnum.Laser; } // Set MixedRealityInputSystem if (homeMenu == null) { homeMenu = GameObject.FindObjectOfType <NRKernal.NRExamples.NRHomeMenu>(); var canvas = homeMenu?.GetComponentInChildren <Canvas>(); if (canvas != null) { if (canvas.gameObject.GetComponent <GraphicRaycaster>() == null) { canvas.gameObject.AddComponent <GraphicRaycaster>(); } if (canvas.gameObject.GetComponent <CanvasUtility>() == null) { canvas.gameObject.AddComponent <CanvasUtility>(); } } } }
/// <summary> Updates this object. </summary> private void Update() { if (NRInput.GetButtonDown(ControllerButton.TRIGGER)) { m_PreviousPos = NRInput.GetTouch(); } else if (NRInput.GetButton(ControllerButton.TRIGGER)) { UpdateScroll(); } else if (NRInput.GetButtonUp(ControllerButton.TRIGGER)) { m_PreviousPos = Vector2.zero; } }
private void CheckButtonLongPress() { if (NRInput.GetButton(ControllerButton.HOME)) { m_ButtonPressTimer += Time.deltaTime; if (m_ButtonPressTimer > BUTTON_LONG_PRESS_DURATION) { m_ButtonPressTimer = float.MinValue; NRHomeMenu.Show(); } } else { m_ButtonPressTimer = 0f; } }
private void Update() { var deltaTouch = NRInput.GetDeltaTouch(); if (deltaTouch.y > float.Epsilon) { return; } var isSwipeRight = deltaTouch.x > float.Epsilon; var isSwipeLeft = deltaTouch.x < -float.Epsilon; switch (_state) { case State.Idle: if (isSwipeRight) { StartCoroutine(nameof(Play)); } break; case State.Play: if (isSwipeLeft) { StartCoroutine(nameof(Stop)); } else if (NRInput.GetButtonUp(ControllerButton.TRIGGER)) { StartCoroutine(nameof(Pause)); } break; case State.Pause: if (isSwipeLeft) { StartCoroutine(nameof(Stop)); } else if (NRInput.GetButtonUp(ControllerButton.TRIGGER)) { StartCoroutine(nameof(Play)); } break; default: throw new ArgumentOutOfRangeException(); } }
//使用touchpad输入 private void UpdateTouchPad() { var touchpos = NRInput.GetTouch(ControllerHandEnum.Right); xAxis = touchpos.x; yAxis = touchpos.y; if (xAxis != 0f || yAxis != 0f) { if (lastTouchPos == Vector2.zero) { OnTouchDown(xAxis, yAxis); } deltaTouch = (lastTouchPos == Vector2.zero) ? Vector2.zero : new Vector2(xAxis - lastTouchPos.x, yAxis - lastTouchPos.y); lastTouchPos.x = xAxis; lastTouchPos.y = yAxis; if (IsRotating) { transform.Rotate(-arCam.up, deltaTouch.x * rotateSensitivity, Space.World); transform.Rotate(arCam.right, deltaTouch.y * rotateSensitivity, Space.World); } } else { if (lastTouchPos != Vector2.zero) { OnTouchUp(); } velocity_x += acceler_x * Time.deltaTime; velocity_y += acceler_y * Time.deltaTime; if (Mathf.Sign(velocity_x) == Mathf.Sign(acceler_x)) { velocity_x = 0f; } if (Mathf.Sign(velocity_y) == Mathf.Sign(acceler_y)) { velocity_y = 0f; } IsRotating = (velocity_x != 0f || velocity_y != 0f); if (IsRotating) { transform.Rotate(-arCam.up, velocity_x * rotateSensitivity * Time.deltaTime, Space.World); transform.Rotate(arCam.right, velocity_y * rotateSensitivity * Time.deltaTime, Space.World); } } }