如何在Cardboard Unity SDK (Unity 5.6)中检测Cardboard按钮按下

4
我正在尝试使用Cardboard Unity SDK检测纸板按钮的点击。
我正在使用这个。
Google VR SDK for Unity v1.40 (April 2017), right now it's the latest

我正在使用Unity 5.6.0f3版本,这也似乎是目前最新的版本。
我无法检测到按钮点击。
GvrViewer.Instance.Triggered

Unity UI事件按预期工作(包括按钮等),但我需要在不使用UI的情况下执行某些操作,例如在纸板上点击按钮时跳跃。
在最新版本的Google VR SDK中,它说已经删除了对磁铁按钮的支持。但是我没有使用磁铁按钮。我的按钮可以通过触摸屏幕来使用。(发布于Google IO 2015之后的版本)
这是我正在使用的纸板 enter image description here 我只是无法弄清如何检测正常的按钮按下。
感谢您提供任何信息。
*编辑*
以下是GvrViewer中填充“Triggered”的行。
  private void DispatchEvents() {
      // Update flags first by copying from device and other inputs.
    Triggered = Input.GetMouseButtonDown(0);
#if UNITY_HAS_GOOGLEVR && (UNITY_ANDROID || UNITY_EDITOR)
    Triggered |= GvrController.ClickButtonDown;
#endif  // UNITY_HAS_GOOGLEVR && (UNITY_ANDROID || UNITY_EDITOR)

我已经在手机上尝试了各种组合,但它无法正常工作。


在纸板按钮中有一个磁铁,当它被按下时,手机会将其识别为屏幕点击。换句话说,在Unity中,它应该是左键鼠标单击。 - Hristo
磁铁按钮不同了,它以前用于与手机的“磁力计”交互。它在纸板的第一个版本中使用,在第二个版本中使用屏幕触摸。您是正确的,屏幕触摸应该是左键单击,这是为受影响帧填充“Triggered”变量的值的方式。然而,它目前无法正常工作,我已添加相关代码和链接。 - 11thdimension
你尝试过这个或者这个吗? - Hristo
这两个都是用于磁铁按钮的,第二个似乎有版权声明。最终我使用了触摸事件,请查看我的回答。 - 11thdimension
1个回答

6

由于我无法让Google VR检测按钮按下的方式(即GvrViewer.Instance.Triggered)正常工作,因此我最终使用了Unity在触摸设备上提供的触摸事件。

现在我的条件如下所示:

Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接