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)}"); }
private void OnInputDeviceDisconnected(IVRDevice vrDevice, IVRInputDevice inputDevice) { if (!vrDevice.InputDevices.Any(x => x is UnityXRController)) { // No controllers are connected // Enable gaze controls DisableAllControllerVisuals(); } }
//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); } }
//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); } }
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); } }
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; } }
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); }
private void RaiseTrackingLost(IVRInputDevice device) { if (device == null || ((object)device) == m_nullDevice) { return; } if (TrackingLost != null) { TrackingLost(device); } }
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)}"); }
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); } }
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; } }
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); }
/// <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); }
public UnityXRGazePointer(IVRInputDevice inputDevice) : base(inputDevice) { mInputDevice = inputDevice; }