0

我正在尝试在两个统一项目中使用正确的(辅助)控制器。OVRInput 从 OVR 类中自动填充 MSVS2017 中的按钮和轴 n 对象名称,但来自右侧(辅助)控制器的返回值始终显示为 false。Unity XRInputManager 演示显示来自控制器输入和耳机数据的结果。但这不使用 OVRInput。想使用 OVRInput 但可能无法使用。Quest 相当新,所以所有的 Internet 文档都只显示 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 控制器的任何值变化。我也向 Oculus 报告了这一点。

4

1 回答 1

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);
于 2020-04-16T06:44:52.790 回答