Есть ли разработчики, использующие класс Unity OVRInput для доступа к вторичному контроллеру Oculus?
Я пытаюсь использовать правильный (вторичный) контроллер в двух проектах единства. OVRInput автоматически заполняет имена объектов button и axis-n в MSVS2017 из классов OVR, но возвращаемые значения из правого (вторичного) контроллера всегда показывают false. Демонстрация Unity XRInputManager показывает результаты как от входов контроллера, так и от данных гарнитуры. Но это не использует OVRInput. Хотел бы использовать OVRInput, но не смог бы. Квест является довольно новым, поэтому все интернет-документы показывают только спецификации Go. Go имеет один контроллер. Я могу прочитать все кнопки с левого (основного) контроллера. Мой apk правильно отвечает на мой GO с единственным контроллером.
OVRInput.GetButton(OVRInput.RawButton.A,Rtouch) ;// reports false in the event of 'A' button press.
Как уже говорилось, я использую OVRInput, и он не сообщает о входах вторичного контроллера, хотя демонстрация диспетчера ввода Unity отображает. Менеджер ввода не использует утилиты OVR.
if (OVRInput.Get(OVRInput.Axis1D.SecondaryHandTrigger, OVRInput.Controller.RTouch) == 1) // reports false in the event of grip button press.
Ни устройство, ни программное обеспечение не сообщают об изменении оборудования. Должно быть правдой или ложью. В качестве примечания: ни один из входов не показывает какого-либо изменения значения от правого (вторичного) контроллера Oculus Quest. Я также сообщил об этом Окулусу.
0 ответов
Насколько я знаю, в Oculus-Quest используются контроллеры Oculus-Touch.
Назначение кнопок для всех контроллеров можно найти здесь.
Это должно быть, например,
OVRInput.Get(OVRInput.RawButton.A, Controller.RTouch)
или также посмотрите пример:
// public variable that can be set to LTouch or RTouch in the Unity Inspector public Controller controller; // returns a float of the Hand Trigger’s current state on the Oculus Touch controller // specified by the controller variable. OVRInput.Get(OVRInput.Axis1D.PrimaryHandTrigger, controller); // returns true if the primary button (“A” or “X”) is pressed on the Oculus Touch controller // specified by the controller variable. OVRInput.Get(OVRInput.Button.One, controller);