Example #1
0
    public void AppendDeviceInput(StringBuilder builder, IVRInputDevice inputDevice, string deviceName)
    {
        if (inputDevice == null)
        {
            return;
        }

        builder.AppendLine($"{deviceName} Back: {inputDevice.GetButton(VRButton.Back)}");
        builder.AppendLine($"{deviceName} Touch Pad Touching: {inputDevice.IsTouching}");
        builder.AppendLine($"{deviceName} Trigger: {inputDevice.GetButton(VRButton.Trigger)}");
        builder.AppendLine($"{deviceName} Primary: {inputDevice.GetButton(VRButton.Primary)}");
        builder.AppendLine($"{deviceName} Seconday: {inputDevice.GetButton(VRButton.Seconday)}");
        builder.AppendLine($"{deviceName} Three: {inputDevice.GetButton(VRButton.Three)}");
        builder.AppendLine($"{deviceName} Four: {inputDevice.GetButton(VRButton.Four)}");

        builder.AppendLine($"{deviceName} Axis One: {inputDevice.GetAxis2D(VRAxis.One)}");
        builder.AppendLine($"{deviceName} Axis One Raw: {inputDevice.GetAxis2D(VRAxis.OneRaw)}");

        builder.AppendLine($"{deviceName} Axis Two: {inputDevice.GetAxis1D(VRAxis.Two)}");
        builder.AppendLine($"{deviceName} Axis Two Raw: {inputDevice.GetAxis1D(VRAxis.TwoRaw):0.00}");

        builder.AppendLine($"{deviceName} Axis Three: {inputDevice.GetAxis1D(VRAxis.Three)}");
        builder.AppendLine($"{deviceName} Axis Three Raw: {inputDevice.GetAxis1D(VRAxis.ThreeRaw):0.00}");

        if (inputDevice.GetButtonUp(VRButton.Trigger))
        {
            Debug.Log("Button up");
        }

        //builder.AppendLine($"{deviceName} Axis2D-One: {inputDevice.GetAxis2D(VRAxis.One)}");
        //builder.AppendLine($"{deviceName} Axis2D-OneRaw: {inputDevice.GetAxis2D(VRAxis.OneRaw)}");
    }
Example #2
0
 private void OnInputDeviceDisconnected(IVRDevice vrDevice, IVRInputDevice inputDevice)
 {
     if (!vrDevice.InputDevices.Any(x => x is UnityXRController))
     {
         // No controllers are connected
         // Enable gaze controls
         DisableAllControllerVisuals();
     }
 }
Example #3
0
        //Notes: Device Connecting is difference than controller being active
        private void OnInputDeviceConnected(IVRDevice vrDevice, IVRInputDevice inputDevice)
        {
            var gearController = inputDevice as GearVRController;

            if (gearController != null)
            {
                // A controller was connected
                // Disable gaze controls
                EnableController(gearController);
            }
        }
Example #4
0
        //Notes: Device Connecting is difference than controller being active
        private void OnInputDeviceConnected(IVRDevice vrDevice, IVRInputDevice inputDevice)
        {
            var unityController = inputDevice as UnityXRController;

            if (unityController != null)
            {
                // A controller was connected
                // Disable gaze controls
                EnableControllerVisual(unityController);
            }
        }
Example #5
0
 private void OnTrackingLost(IVRInputDevice device)
 {
     if (device.Device.characteristics == UnityEngine.XR.InputDeviceCharacteristics.Left)
     {
         Destroy(m_leftHand.gameObject);
     }
     else if (device.Device.characteristics == UnityEngine.XR.InputDeviceCharacteristics.Right)
     {
         Destroy(m_rightHand.gameObject);
     }
 }
Example #6
0
 private void OnTrackingAquired(IVRInputDevice device)
 {
     if (device.Device.characteristics == UnityEngine.XR.InputDeviceCharacteristics.Left)
     {
         m_leftHand = CreateModel(Color.yellow, "Left Hand").transform;
     }
     else if (device.Device.characteristics == UnityEngine.XR.InputDeviceCharacteristics.Right)
     {
         m_rightHand = CreateModel(Color.red, "Right Hand").transform;
     }
 }
Example #7
0
        public void ProcessInput(IVRInputDevice device, List <EButtonType> buttonTypes, CommandBase command)
        {
            if (device == null)
            {
                return;
            }

            command.Down    = GetButton(device, buttonTypes, EButtonState.Down);
            command.Pressed = GetButton(device, buttonTypes, EButtonState.Pressed);
            command.Up      = GetButton(device, buttonTypes, EButtonState.Up);
        }
Example #8
0
        private void RaiseTrackingLost(IVRInputDevice device)
        {
            if (device == null || ((object)device) == m_nullDevice)
            {
                return;
            }

            if (TrackingLost != null)
            {
                TrackingLost(device);
            }
        }
Example #9
0
        private void RaiseTrackingAcquired(IVRInputDevice device)
        {
            if (device == null || ((object)device) == m_nullDevice)
            {
                return;
            }

            if (TrackingAquired != null)
            {
                TrackingAquired(device);
            }
        }
    public void AppendDeviceInput(StringBuilder builder, IVRInputDevice inputDevice, string deviceName)
    {
        if (inputDevice == null)
        {
            return;
        }

        builder.AppendLine($"{deviceName} Back: {inputDevice.GetButton(VRButton.Back)}");
        builder.AppendLine($"{deviceName} Button One: {inputDevice.GetButton(VRButton.Primary)}");
        builder.AppendLine($"{deviceName} Touch Pad Touching: {inputDevice.IsTouching}");
        builder.AppendLine($"{deviceName} Axis2D-One: {inputDevice.GetAxis2D(VRAxis.One)}");
        builder.AppendLine($"{deviceName} Axis2D-OneRaw: {inputDevice.GetAxis2D(VRAxis.OneRaw)}");
    }
Example #11
0
    public void TriggerVibrationRelease()
    {
        IVRInputDevice rightInput = GetInput(VRInputDeviceHand.Right);
        IVRInputDevice leftInput  = GetInput(VRInputDeviceHand.Left);

        if (leftInput.GetButtonUp(VRButton.One))
        {
            OVRInput.SetControllerVibration(1f, 1f, (OVRInput.Controller)VRInputDeviceHand.Left);
        }

        if (rightInput.GetButtonUp(VRButton.One))
        {
            OVRInput.SetControllerVibration(1f, 1f, (OVRInput.Controller)VRInputDeviceHand.Right);
        }
    }
        private void OnTrackingLost(IVRInputDevice device)
        {
            if (!IsTrackedDevice(device))
            {
                return;
            }

            if ((device.Device.characteristics & UnityEngine.XR.InputDeviceCharacteristics.Left) != 0)
            {
                Destroy(m_leftHand.gameObject);
            }
            else if ((device.Device.characteristics & UnityEngine.XR.InputDeviceCharacteristics.Right) != 0)
            {
                Destroy(m_rightHand.gameObject);
            }
        }
Example #13
0
    public void TriggerVibration()
    {
        OVRHapticsClip clip = new OVRHapticsClip(AudioManager.instance.GetTriggerClip());

        IVRInputDevice rightInput = GetInput(VRInputDeviceHand.Right);
        IVRInputDevice leftInput  = GetInput(VRInputDeviceHand.Left);

        if (leftInput.GetButtonDown(VRButton.One))
        {
            OVRInput.SetControllerVibration(0.6f, 0.4f, (OVRInput.Controller)VRInputDeviceHand.Left);
        }

        if (rightInput.GetButtonDown(VRButton.One))
        {
            OVRInput.SetControllerVibration(0.6f, 0.4f, (OVRInput.Controller)VRInputDeviceHand.Right);
        }
    }
        private void Update()
        {
            IVRInputDevice lh = m_tracker.LeftHand;
            IVRInputDevice rh = m_tracker.RightHand;

            if (lh.IsTracking && m_leftHand != null)
            {
                m_leftHand.position = m_tracker.Origin + lh.Postion;
                m_leftHand.rotation = lh.Rotation;
            }

            if (rh.IsTracking && m_rightHand != null)
            {
                m_rightHand.position = m_tracker.Origin + rh.Postion;
                m_rightHand.rotation = rh.Rotation;
            }
        }
Example #15
0
        public bool GetButton(IVRInputDevice device, List <EButtonType> buttonTypes, EButtonState state)
        {
            foreach (var eButtonType in buttonTypes)
            {
                switch (eButtonType)
                {
                case EButtonType.MiddleMouse:
                case EButtonType.LeftMouse:
                case EButtonType.RightMouse:
                    var mouseNumber = GetMouseNumber(eButtonType);
                    if (UnityEngine.Input.GetMouseButtonDown(mouseNumber) && state == EButtonState.Down)
                    {
                        return(true);
                    }
                    if (UnityEngine.Input.GetMouseButton(mouseNumber) && state == EButtonState.Pressed)
                    {
                        return(true);
                    }
                    if (UnityEngine.Input.GetMouseButtonUp(mouseNumber) && state == EButtonState.Up)
                    {
                        return(true);
                    }
                    break;

                default:
                    if (state == EButtonState.Down && device.GetButtonDown(ToVRButton(eButtonType)))
                    {
                        return(true);
                    }
                    if (state == EButtonState.Pressed && device.GetButton(ToVRButton(eButtonType)))
                    {
                        return(true);
                    }
                    if (state == EButtonState.Up && device.GetButtonUp(ToVRButton(eButtonType)))
                    {
                        return(true);
                    }
                    break;
                }
            }

            return(false);
        }
Example #16
0
 /// <summary>
 /// Creates a new <see cref="GearVRGazePointer"/> for the specified input device.
 /// </summary>
 /// <param name="inputDevice">The input device for the pointer.</param>
 public GearVRGazePointer(IVRInputDevice inputDevice) : base(inputDevice)
 {
     mInputDevice = inputDevice;
 }
 private bool IsTrackedDevice(IVRInputDevice device)
 {
     return((device.Device.characteristics & UnityEngine.XR.InputDeviceCharacteristics.TrackedDevice) != 0);
 }
Example #18
0
 public UnityXRGazePointer(IVRInputDevice inputDevice) : base(inputDevice)
 {
     mInputDevice = inputDevice;
 }