Контроллер Oculus Quest Button B, Button Y, PrimaryHandTrigger и SecondaryHandTrigger не сопоставляются?
Я не могу сопоставить 4 кнопки (Button B, Button Y, PrimaryHandTrigger и SecondaryHandTrigger) в OVRInputModule в Unity. Однако при сопоставлении эти кнопки работают на контроллерах Oculus Rift, но не на сенсорных контроллерах Oculus Quest. Почему это происходит? Даже если я использую его как Button или RawButton, он все равно не действует. Все остальные кнопки на сенсорных контроллерах работают безупречно при сопоставлении с помощью сценария, но проблема существует только для этих 4 кнопок.
OVRInputModule:
public OVRInput.Button joyPadClickButton7 = OVRInput.Button.Two;
public OVRInput.RawButton joyPadClickButton8 = OVRInput.RawButton.RHandTrigger;
...
...
virtual protected PointerEventData.FramePressState GetGazeButtonState()
{
var pressed = Input.GetKeyDown(gazeClickKey) || OVRInput.GetDown(joyPadClickButton7) || OVRInput.GetDown(joyPadClickButton8);
var released = Input.GetKeyUp(gazeClickKey) || OVRInput.GetUp(joyPadClickButton7) || OVRInput.GetDown(joyPadClickButton8);
#if UNITY_ANDROID && !UNITY_EDITOR
// On Gear VR the mouse button events correspond to touch pad events. We only use these as gaze pointer clicks
// on Gear VR because on PC the mouse clicks are used for actual mouse pointer interactions.
pressed |= Input.GetMouseButtonDown(0);
released |= Input.GetMouseButtonUp(0);
#endif
if (pressed && released)
return PointerEventData.FramePressState.PressedAndReleased;
if (pressed)
return PointerEventData.FramePressState.Pressed;
if (released)
return PointerEventData.FramePressState.Released;
return PointerEventData.FramePressState.NotChanged;
}