SetControllerVibration() public static method

Activates vibration with the given frequency and amplitude with the given controller mask. Ignored on controllers that do not support vibration. Expected values range from 0 to 1.
public static SetControllerVibration ( float frequency, float amplitude, Controller, controllerMask = Controller.Active ) : void
frequency float
amplitude float
controllerMask Controller,
return void
Example #1
0
    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag == "Baseball")
        {
            Vector3 ballPosition = collision.transform.position;

            float dis1 = Vector3.Distance(ballPosition, this.bottomTransform.position);
            float dis2 = Vector3.Distance(ballPosition, this.topTransform.position);
            float k    = dis1 / (dis1 + dis2);

            Vector3 t_velocity = k * m_bottomVelocity + (1.0f - k) * m_topVelocity;

            collision.transform.GetComponent <Rigidbody>().velocity += 1.0f * t_velocity;

            this.GetComponent <AudioSource>().Play();

            OVRInput.SetControllerVibration(0.5f, 0.5f, OVRInput.Controller.RTouch);
            r_time = 0.2f;

            if (collision.transform.GetComponent <Bullet>().isBlocked == false)
            {
                collision.transform.GetComponent <Bullet>().isBlocked = true;
                SceneController.Level_Current.GetComponent <ScoreCalculation>().BulletBlocked();
            }
        }
    }
Example #2
0
 private void OnCollisionEnter(Collision collision)
 {
     if (lastVelocity.magnitude != 0)
     {
         OVRInput.SetControllerVibration(1 / lastVelocity.magnitude, Mathf.Clamp01(lastVelocity.magnitude), OVRInput.Controller.RTouch);
     }
 }
Example #3
0
        IEnumerator Vibrate(float frequency, float amplitude, float duration, ControllerHand hand)
        {
#if OCULUS_INTEGRATION
            // Start vibration
            if (hand == ControllerHand.Right)
            {
                OVRInput.SetControllerVibration(frequency, amplitude, OVRInput.Controller.RTouch);
            }
            else if (hand == ControllerHand.Left)
            {
                OVRInput.SetControllerVibration(frequency, amplitude, OVRInput.Controller.LTouch);
            }

            yield return(new WaitForSeconds(duration));

            // Stop vibration
            if (hand == ControllerHand.Right)
            {
                OVRInput.SetControllerVibration(0, 0, OVRInput.Controller.RTouch);
            }
            else if (hand == ControllerHand.Left)
            {
                OVRInput.SetControllerVibration(0, 0, OVRInput.Controller.LTouch);
            }
#else
            yield return(new WaitForSeconds(duration));
#endif
        }
Example #4
0
 void OnTriggerStay(Collider coll)
 {
     if (coll.CompareTag("BALL"))
     {
         OVRInput.SetControllerVibration(0.5f, 0.5f, OVRInput.Controller.RTouch);
     }
 }
Example #5
0
    /// <summary>
    ///  Handle oculus VR input
    /// </summary>
    public void vrInput()
    {
        //VR input

        //Press A to key
        if (OVRInput.GetDown(OVRInput.RawButton.A))
        {
            key();
        }

        //Press A to clear
        if (OVRInput.GetDown(OVRInput.RawButton.B))
        {
            clear();
        }

        //Press X to play
        if (OVRInput.GetDown(OVRInput.RawButton.X))
        {
            play();
        }

        //Press Y to replay
        if (OVRInput.GetDown(OVRInput.RawButton.Y))
        {
            replay();
        }



        //Press left thumb stick to move current frame:
        Vector2 primaryAxis = OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick);

        if (primaryAxis.x > -0.2f && primaryAxis.x < 0.2f || OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger) >= 0.5f || OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger) >= 0.5f)
        {
            movingTimer = 0;
            OVRInput.SetControllerVibration(1, 0, OVRInput.Controller.LTouch);
        }
        else
        {
            if (movingTimer <= 0.01f)
            {
                if (primaryAxis.x > 0)
                {
                    next();
                }
                else
                {
                    prev();
                }
                movingTimer = 0.5f;
                OVRInput.SetControllerVibration(1, 0.2f, OVRInput.Controller.LTouch);
            }
            movingTimer -= Time.deltaTime * 5 * Mathf.Abs(2 * primaryAxis.x * primaryAxis.x);
            if (movingTimer < 0.4f)
            {
                OVRInput.SetControllerVibration(1, 0, OVRInput.Controller.LTouch);
            }
        }
    }
    public void PlayVibrate(bool isLeft)
    {
        var type = isLeft ? OVRInput.Controller.LTouch : OVRInput.Controller.RTouch;

        OVRInput.SetControllerVibration(vibrateFrequency, vibrateAmplitude, type);
        StartCoroutine(StopVibrate(type));
    }
Example #7
0
    protected override void Update()
    {
        if (PointEvent != null)
        {
            distanceToTarget = PointEvent.pointerCurrentRaycast.distance;

            OnNearTouch.Invoke(Mathf.InverseLerp(0, distanceForCursorActivation, distanceToTarget));
        }

        if (distanceToTarget <= pointToActivateAt + activationRange && distanceToTarget >= pointToActivateAt - activationRange)
        {
            if (!buttonPressed)
            {
                Press();
                OVRInput.SetControllerVibration(.3f, .3f, OVRInput.Controller.RTouch);
            }

            OnTouch.Invoke();
        }
        else
        {
            if (buttonPressed)
            {
                Unpress();
                OVRInput.SetControllerVibration(0, 0, OVRInput.Controller.RTouch);
            }
        }

        base.Update();
    }
    // Update is called once per frame
    void Update()
    {
        if (r_time > 0.0f)
        {
            r_time -= Time.deltaTime;
            if (r_time <= 0.0f)
            {
                OVRInput.SetControllerVibration(0.0f, 0.0f, controller);
            }
        }

        if (m_is_reloading == false)
        {
            float x = OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger, controller);

            if (m_isHold == true && x < 0.5f)
            {
                TriggerUp();
            }
            else if (m_isHold == false && x > 0.7f)
            {
                TriggerDown();
            }
        }
    }
Example #9
0
    IEnumerator doVibrate(float t, float freq = 1, float amp = 1)
    {
        OVRInput.SetControllerVibration(amp, freq, myHand);
        yield return(new WaitForSeconds(t));

        OVRInput.SetControllerVibration(0, 0, myHand);
    }
Example #10
0
    private static IEnumerator EndVibration(float time)
    {
        yield return(new WaitForSeconds(time));

        // Code to execute after the delay
        OVRInput.SetControllerVibration(0, 0, OVRInput.Controller.RTouch);
    }
    void TriggerDown()
    {
        m_isHold = true;
        Bullet bullet = Instantiate(bulletPrefab);

        bullet.transform.position = start_transform.position;
        bullet.transform.forward  = (end_transform.position - start_transform.position).normalized;
        bullet.GetComponent <Rigidbody>().AddForce(300.0f * bullet.transform.forward);


        OVRInput.SetControllerVibration(0.8f, 0.8f, controller);
        this.p_fire_audio.Play();

        r_time = 0.1f;

        m_bullet_num--;
        if (m_bullet_num <= 0)
        {
            m_is_reloading = true;
        }

        if (p_bullet_ui != null)
        {
            p_bullet_ui.SetCurrentBullet(m_bullet_num);
        }
    }
        private IEnumerator DoVibration(OVRInput.Controller controller, float duration)
        {
            OVRInput.SetControllerVibration(1, App.VrSdk.VrControls.HapticsAmplitudeScale, controller);
            yield return(new WaitForSeconds(App.VrSdk.VrControls.HapticsDurationScale * duration));

            OVRInput.SetControllerVibration(0, 0, controller);
        }
Example #13
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.CompareTag("fishschool"))
     {
         if (gameObject.tag == "right")
         {
             fishR.gameObject.SetActive(true);
             OVRInput.SetControllerVibration(haptic_frequency, haptic_amplitutde, OVRInput.Controller.RTouch);
             readytoeat   = true;
             left.enabled = false;
         }
         if (gameObject.tag == "left")
         {
             fishL.gameObject.SetActive(true);
             OVRInput.SetControllerVibration(haptic_frequency, haptic_amplitutde, OVRInput.Controller.LTouch);
             readytoeat    = true;
             right.enabled = false;
         }
     }
     if (other.CompareTag("MainCamera") && readytoeat)
     {
         fishR.gameObject.SetActive(false);
         fishL.gameObject.SetActive(false);
         burp.Play();
         fishbones.GetComponent <Fishbones_behaviour>().Slideout();
         readytoeat    = false;
         left.enabled  = true;
         right.enabled = true;
     }
 }
        protected IEnumerator HapticPulse(float pulseDuration, float intervalDuration, float totalDuration, float intensity, bool isContinuous, bool isRHand)
        {
            _keepAlive = isContinuous;

            while (totalDuration > 0 || _keepAlive)
            {
                if (isRHand)
                {
                    OVRInput.SetControllerVibration(.1f, intensity, OVRInput.Controller.RTouch);
                }
                else
                {
                    OVRInput.SetControllerVibration(.1f, intensity, OVRInput.Controller.LTouch);
                }
                yield return(new WaitForSeconds(pulseDuration));

                if (isRHand)
                {
                    OVRInput.SetControllerVibration(0, 0, OVRInput.Controller.RTouch);
                }
                else
                {
                    OVRInput.SetControllerVibration(0, 0, OVRInput.Controller.LTouch);
                }
                yield return(new WaitForSeconds(intervalDuration));

                if (!_keepAlive)
                {
                    totalDuration -= pulseDuration + intervalDuration;
                }
            }

            _asyncHapticPulse = null;
        }
    // Update is called once per frame
    void Update()
    {
        isGrabbed = grabbable.isGrabbed;
        if (isGrabbed && controllerKind == OVRInput.Controller.None)
        {
            if (grabbable.grabbedBy.name.Contains("Left"))
            {
                controllerKind = OVRInput.Controller.LTouch;
                PhysicsVRHand.Left.grabbedObject    = this;
                realLifeGrabSpotTransform.rotation  = grabbable.grabbedBy.transform.rotation;
                realLifeGrabSpotTransform.position  = grabbable.grabbedBy.transform.position;
                physicsVRGrabSpotTransform.rotation = grabbable.grabbedBy.transform.rotation;
                physicsVRGrabSpotTransform.position = grabbable.grabbedBy.transform.position;
            }
            if (grabbable.grabbedBy.name.Contains("Right"))
            {
                controllerKind = OVRInput.Controller.RTouch;
                PhysicsVRHand.Right.grabbedObject   = this;
                realLifeGrabSpotTransform.rotation  = grabbable.grabbedBy.transform.rotation;
                realLifeGrabSpotTransform.position  = grabbable.grabbedBy.transform.position;
                physicsVRGrabSpotTransform.rotation = grabbable.grabbedBy.transform.rotation;
                physicsVRGrabSpotTransform.position = grabbable.grabbedBy.transform.position;
            }
        }
        else if (!isGrabbed && controllerKind != OVRInput.Controller.None)
        {
            controllerKind = OVRInput.Controller.None;
            OVRInput.SetControllerVibration(0, 0, controllerKind);
        }

        if (Time.time > joiningBackEndTime)
        {
            isJoiningBack = false;
        }
    }
Example #16
0
    IEnumerator StopVibration()
    {
        yield return(new WaitForSeconds(0.2f));

        OVRInput.SetControllerVibration(0f, 0f, ovrHand);
        yield return(0);
    }
Example #17
0
    private void OnCollisionEnter(Collision collision)
    {
        if ((collision.gameObject.tag == "Bullet") || (collision.gameObject.tag == "BigBullet") || collision.gameObject.tag == "Soccer" || collision.gameObject.tag == "VolleyBall")
        {
            //if (collision.gameObject.tag == "VolleyBall")
            //  collision.transform.GetComponent<Rigidbody>().velocity *= 1.2f;

            if (collision.gameObject.tag == "VolleyBall" || collision.gameObject.tag == "BaseBall")
            {
                collision.transform.GetComponent <Rigidbody>().velocity += 1.0f * m_velocity;
            }

            this.GetComponent <AudioSource>().Play();

            if (collision.gameObject.tag == "BigBullet")
            {
                OVRInput.SetControllerVibration(1.0f, 1.0f, controller);
                r_time = 1.0f;
            }
            else
            {
                OVRInput.SetControllerVibration(0.5f, 0.5f, controller);
                r_time = 0.2f;
            }

            if (collision.transform.GetComponent <Bullet>().isBlocked == false)
            {
                collision.transform.GetComponent <Bullet>().isBlocked = true;
                SceneController.Level_Current.GetComponent <ScoreCalculation>().BulletBlocked();
            }
        }
    }
Example #18
0
        public override void SendHapticEvent(float frequency, float amplitude, float duration)
        {
            hapticStartTime = Time.time;
            hapticDuration  = duration;

            OVRInput.SetControllerVibration(frequency, amplitude, ovrController);
        }
Example #19
0
    // haptics
    IEnumerator OVR_haptics(float frequency, float amplitude, float duration, OVRInput.Controller controller)
    {
        OVRInput.SetControllerVibration(frequency, amplitude, controller);
        yield return(new WaitForSeconds(duration));

        OVRInput.SetControllerVibration(0, 0, controller);
    }
Example #20
0
        // ** QUEST ONLY **
        private IEnumerator stopVibrationCoroutine(OVRInput.Controller controller)
        {
            yield return(new WaitForSeconds(0.25f));

            OVRInput.SetControllerVibration(0f, 0f, controller);
            isVibrating = false;
        }
Example #21
0
        public override void Shoot()
        {
            if (Time.time > nextShoot && ammo > 0)
            {
                if (!shooting)
                {
                    shooting = true;
                    onStartShoot.Invoke();
                }

                nextShoot = Time.time + shootSpeed;

                ammo--;

                GameObject _bullet = Instantiate(bullet, bullet.transform.position, bullet.transform.rotation);
                _bullet.SetActive(true);

                onShoot.Invoke();

                if (ammo <= 0)
                {
                    stopShoot = true;
                }

                if (OVRInput.IsControllerConnected(left.currentGrabHand.m_controller))
                {
                    OVRInput.SetControllerVibration(0.8f, 0.3f, left.currentGrabHand.m_controller);
                }

                if (OVRInput.IsControllerConnected(right.currentGrabHand.m_controller))
                {
                    OVRInput.SetControllerVibration(0.8f, 0.3f, right.currentGrabHand.m_controller);
                }
            }
        }
Example #22
0
    private void Update()
    {
        if (r_time > 0.0f)
        {
            r_time -= Time.deltaTime;
            if (r_time <= 0.0f)
            {
                OVRInput.SetControllerVibration(0.0f, 0.0f, OVRInput.Controller.LTouch);
                OVRInput.SetControllerVibration(0.0f, 0.0f, OVRInput.Controller.RTouch);
            }
        }


        if (m_bullet_num > 0)   // m_is_reloading == false
        {
            float x = OVRInput.Get(OVRInput.Axis1D.PrimaryIndexTrigger, OVRInput.Controller.RTouch);

            if (m_isHold == true && x < 0.5f)
            {
                TriggerUp();
            }
            else if (m_isHold == false && x > 0.7f)
            {
                TriggerDown();
            }
        }
    }
Example #23
0
        public override void Shoot()
        {
            if (ammo > 0)
            {
                receiver.Retract();
                source.PlayOneShot(shoot_audio);

                ammo--;

                GameObject bullet_instance = Instantiate(bullet, transform);
                bullet_instance.transform.SetParent(null);
                bullet_instance.SetActive(true);

                OVRInput.SetControllerVibration(0.1f, 1, mainHand.m_controller);
                StartCoroutine(InterruptVibration(0.1f));

                shoot_particle.Play();

                if (ammo == 0)
                {
                    StartCoroutine(AuxiliarSound(0.15f, runOutAmmo_audio));
                }
            }
            else
            {
                source.PlayOneShot(noAmmo_audio);
            }
        }
    IEnumerator VibrationCoroutine(OVRInput.Controller c, float duration)
    {
        OVRInput.SetControllerVibration(0.4f, 0.4f, c);
        yield return(new WaitForSeconds(0.25f));

        OVRInput.SetControllerVibration(0, 0, c);
    }
    public static IEnumerator ViberationCoroutine(float time, float power, OVRInput.Controller controller)
    {
        OVRInput.SetControllerVibration(.2f, power, controller);
        yield return(new WaitForSeconds(time));

        OVRInput.SetControllerVibration(.2f, 0, controller);
    }
Example #26
0
    void Update()
    {
        OVRInput.SetControllerVibration(.3f, 0.3f, OVRInput.Controller.All);
        if (Input.GetKeyDown(KeyCode.Space))
        {
            OVRHaptics.Channels[0].Queue(clip);
            OVRHaptics.Channels[0].Mix(clip);
            //OVRHaptics.Channels[1];
            float timer = 0;

            while (timer <= 3)
            {
                timer += Time.deltaTime;
            } // OVRInput.SetControllerVibration(.3f, 0.3f, OVRInput.Controller.LTouch);
              //  GetComponent<AudioSource>().Play();
        }

        if (grabbedObject != null)
        {
            lastRotation    = currentRotation;
            currentRotation = grabbedObject.transform.rotation;
        }
        if (!grabbing && Input.GetAxis(buttonname) == 1)
        {
            Debug.Log("ok"); Grabobject();
        }
        if (grabbing && Input.GetAxis(buttonname) < 1)
        {
            Debug.Log("Nok"); Dropobject();
        }
    }
Example #27
0
        public IEnumerator Buzz(OVRInput.Controller gcController)
        {
            OVRInput.SetControllerVibration(0.1f, 1, gcController);
            yield return(new WaitForSeconds(0.1f));

            OVRInput.SetControllerVibration(0, 0, gcController);
        }
Example #28
0
    // Update is called once per frame
    void Update()
    {
        if (isGrabbed)
        {
            //Gets the position of the handAnchorTransform in local space (to the base Stick's transform, not the pivot)
            Vector3 handAnchorLocalPos = transform.InverseTransformPoint(handAnchorTransform.position) - initialHandAnchorPosition;
            handAnchorLocalPos.y = 1 / sensitivity;

            float pitchAngle = Mathf.Atan2(handAnchorLocalPos.z, handAnchorLocalPos.y) * Mathf.Rad2Deg;
            float rollAngle  = -Mathf.Atan2(handAnchorLocalPos.x, handAnchorLocalPos.y) * Mathf.Rad2Deg;

            pitchAngle = WrapAngle(pitchAngle);
            rollAngle  = WrapAngle(rollAngle);

            pitchAngle = Mathf.Clamp(pitchAngle, -maxPitchDeflection, maxPitchDeflection);
            rollAngle  = Mathf.Clamp(rollAngle, -maxRollDeflection, maxRollDeflection);

            Vector3 newEuler = new Vector3(pitchAngle, 0, rollAngle);

            pivot.localEulerAngles = newEuler;

            OVRInput.Controller grabbingController = OVRInput.Controller.Touch;
            if (control.grabber.gameObject.layer == LayerMask.NameToLayer("HandRight"))
            {
                grabbingController = OVRInput.Controller.RTouch;
            }
            else if (control.grabber.gameObject.layer == LayerMask.NameToLayer("HandLeft"))
            {
                grabbingController = OVRInput.Controller.LTouch;
            }

            Vector2 d = new Vector2(CurrentPitch, CurrentRoll);
            OVRInput.SetControllerVibration(hapticFrequency, d.magnitude * hapticMaxAmplitude, grabbingController);
        }
    }
Example #29
0
    // Update is called once per frame
    void Update()
    {
        OVRInput.SetControllerVibration(0, 0, OVRInput.Controller.RTouch);
        audios[audioIndex].Pause();
        lineRenderer.enabled = false;
        OVRInput.FixedUpdate();
        right_press = OVRInput.Get(OVRInput.RawButton.RIndexTrigger);

        RaycastHit hit;

        if (right_press)
        {
            Shoot();
            Debug.Log("&&&& CLICK");

            if (Physics.Raycast(controller.transform.position, controller.transform.TransformDirection(Vector3.left), out hit, Mathf.Infinity))
            {
                if (hit.collider.CompareTag("Fire"))
                {
                    Debug.Log("&&&& HIT");
                    healthBar.UpdateBar(healthBar.GetCurrentFraction - 0.0025f, 1f);
                    OVRInput.SetControllerVibration(1, 1, OVRInput.Controller.RTouch);
                }
            }
        }
    }
 public void CancelVibration()
 {
     if (null != grabbingController)
     {
         OVRInput.SetControllerVibration(0, 0, grabbingController);
     }
 }