public override bool ResolveTouch(OVRInput.RawButton button, TBInput.Controller controller) { OVRInput.Controller ctrl = GetOculusControllerID(controller); if (OVRInput.Get(GetTouchEnum(button), ctrl)) { return(true); } return(false); }
public override bool ResolveButtonUp(OVRInput.RawButton button, TBInput.Controller controller) { OVRInput.Controller ctrl = GetOculusControllerID(controller); if (OVRInput.GetUp(button, ctrl)) { return(true); } return(false); }
private void InitControllerScheme() { if (handOrientation == HandOrientation.Right) { _indexTrigger = OVRInput.RawButton.RIndexTrigger; } else { _indexTrigger = OVRInput.RawButton.LIndexTrigger; } }
void CheckPress(OVRInput.Controller hand, OVRInput.RawButton button) { if (OVRInput.GetDown(button)) { Vector3 touchPos = OVRManager.instance.transform.LocalToWorld(OVRInput.GetLocalControllerPosition(hand)); if ((colliderX.ClosestPointOnBounds(touchPos) - touchPos).sqrMagnitude < TouchRadius * TouchRadius) { UnityEngine.SceneManagement.SceneManager.LoadScene(SceneIndex); } } }
public bool GetButtonUp(OVRInput.RawButton button) { if (this.IsOnHeadset()) { return(OVRInput.GetUp(button)); } else { if (this.buttonMap == null) { return(false); } return(this.buttonMap.GetUp(button)); } }
void CheckGrab(OVRInput.Controller hand, OVRInput.RawButton button) { if (OVRInput.GetDown(button)) { Vector3 touchPos = OVRManager.instance.transform.LocalToWorld(OVRInput.GetLocalControllerPosition(hand)); Vector3 grabOffset = touchPos - transform.position; if (grabOffset.sqrMagnitude < grabRadius * grabRadius) { Quaternion invTouchRot = Quaternion.Inverse(OVRManager.instance.transform.LocalToWorld(OVRInput.GetLocalControllerRotation(hand))); grabbedBy = hand; grabbedByButton = button; localGrabOffset = invTouchRot * (transform.position - touchPos); localGrabRotation = transform.rotation * invTouchRot; } } }
public static OVRInput.RawAxis2D GetAxis2DEnum(OVRInput.RawButton button) { switch (button) { case OVRInput.RawButton.LThumbstick: return(OVRInput.RawAxis2D.LThumbstick); case OVRInput.RawButton.RThumbstick: return(OVRInput.RawAxis2D.RThumbstick); case OVRInput.RawButton.RTouchpad: return(OVRInput.RawAxis2D.RTouchpad); case OVRInput.RawButton.LTouchpad: return(OVRInput.RawAxis2D.LTouchpad); } return(OVRInput.RawAxis2D.None); }
public static OVRInput.RawAxis1D GetAxis1DEnum(OVRInput.RawButton button) { switch (button) { case OVRInput.RawButton.LHandTrigger: return(OVRInput.RawAxis1D.LHandTrigger); case OVRInput.RawButton.LIndexTrigger: return(OVRInput.RawAxis1D.LIndexTrigger); case OVRInput.RawButton.RIndexTrigger: return(OVRInput.RawAxis1D.RIndexTrigger); case OVRInput.RawButton.RHandTrigger: return(OVRInput.RawAxis1D.RHandTrigger); } return(OVRInput.RawAxis1D.None); }
public void EndlessMode(OVRInput.RawButton button) { if (button == OVRInput.RawButton.A) { endless = true; player.GetComponent <OVRScreenFade>().FadeOut(); SceneManager.LoadScene("Main"); bass.TransitionTo(2); } else if (button == OVRInput.RawButton.B) { endless = true; hardMode = true; player.GetComponent <OVRScreenFade>().FadeOut(); SceneManager.LoadScene("Main"); bass.TransitionTo(2); } }
// Update is called once per frame void Update() { CheckGrab(OVRInput.Controller.LTouch, OVRInput.RawButton.LHandTrigger); CheckGrab(OVRInput.Controller.RTouch, OVRInput.RawButton.RHandTrigger); if (grabbedByButton != OVRInput.RawButton.None && OVRInput.GetUp(grabbedByButton)) { // release grabbedBy = OVRInput.Controller.None; grabbedByButton = OVRInput.RawButton.None; float orbitRadius = (transform.position - Planet.transform.position).magnitude; Vector3 axis = Vector3.Cross(transform.position - Planet.transform.position, transform.position + smoothedGrabVelocity.average - Planet.transform.position); orbitRotation = Quaternion.AngleAxis(smoothedGrabVelocity.average.magnitude / (orbitRadius * Time.fixedDeltaTime), axis); } if (grabbedBy != OVRInput.Controller.None) { Vector3 oldPosition = transform.position; Quaternion oldRotation = transform.rotation; Vector3 handPos = OVRManager.instance.transform.LocalToWorld(OVRInput.GetLocalControllerPosition(grabbedBy)); Quaternion handRot = OVRManager.instance.transform.LocalToWorld(OVRInput.GetLocalControllerRotation(grabbedBy)); transform.position = handPos + handRot * localGrabOffset; transform.rotation = handRot * localGrabRotation; spin = transform.rotation * Quaternion.Inverse(oldRotation); smoothedGrabVelocity.AddReading(transform.position - oldPosition); } else if (unfreezeTimestamp != 0 && unfreezeTimestamp < Time.time) { unfreezeTimestamp = 0; float orbitRadius = (transform.position - Planet.transform.position).magnitude; Vector3 axis = Vector3.Cross(transform.position - Planet.transform.position, transform.position + tractorBeamVelocity - Planet.transform.position); orbitRotation = Quaternion.AngleAxis(tractorBeamVelocity.magnitude / (orbitRadius * Time.fixedDeltaTime), axis); } }
// Specific to Oculus SDK - we need to convert enums into a different format to be read for values other than "button." public static OVRInput.RawTouch GetTouchEnum(OVRInput.RawButton button) { switch (button) { case OVRInput.RawButton.A: return(OVRInput.RawTouch.A); case OVRInput.RawButton.B: return(OVRInput.RawTouch.B); case OVRInput.RawButton.X: return(OVRInput.RawTouch.X); case OVRInput.RawButton.Y: return(OVRInput.RawTouch.Y); case OVRInput.RawButton.RThumbstick: return(OVRInput.RawTouch.RThumbstick); case OVRInput.RawButton.LThumbstick: return(OVRInput.RawTouch.LThumbstick); case OVRInput.RawButton.RIndexTrigger: return(OVRInput.RawTouch.RIndexTrigger); case OVRInput.RawButton.LIndexTrigger: return(OVRInput.RawTouch.LIndexTrigger); case OVRInput.RawButton.LTouchpad: return(OVRInput.RawTouch.LTouchpad); case OVRInput.RawButton.RTouchpad: return(OVRInput.RawTouch.RTouchpad); } return(OVRInput.RawTouch.None); }
/* -------------------------------------------------- */ /// <summary> /// Use this for initialization /// </summary> void Start() { _indexTrigerFlag = false; _localHandPosition = Vector3.zero; _originHandPosition = Vector3.zero; _vibrate = new Vibrate(); if (isRightHand) { _indexTrigger = OVRInput.RawButton.RIndexTrigger; _handTrigger = OVRInput.RawButton.RHandTrigger; _downsideButton = OVRInput.RawButton.A; _upsideButton = OVRInput.RawButton.B; } else { _indexTrigger = OVRInput.RawButton.LIndexTrigger; _handTrigger = OVRInput.RawButton.LHandTrigger; _downsideButton = OVRInput.RawButton.X; _upsideButton = OVRInput.RawButton.Y; } }
public override Vector2 ResolveAxis2D(OVRInput.RawButton button, TBInput.Controller controller) { return(OVRInput.Get(GetAxis2DEnum(button), GetOculusControllerID(controller))); }
// Use this for initialization void Start() { instance = this; button = OVRInput.RawButton.RIndexTrigger; laserLength = laser.transform.localScale.y; }
public PhysicalOculusTouchButton(OVRInput.RawButton rawButton) { this.rawButton = rawButton; }
public static bool GetUp(OVRInput.RawButton virtualMask, OVRInput.Controller controllerMask = OVRInput.Controller.Active) { return(virtualMask == OVRInput.RawButton.Back ? InputDevice.GetButtonUp(GvrControllerButton.App) : false); }