2017-05-11 96 views
2

我正在嘗試使用Cardboard Unity SDK檢測紙板按鈕單擊。如何檢測Cardboard Unity SDK中的Cardboard按鈕(Unity 5.6)

我使用這個

Google VR SDK for Unity v1.40 (April 2017), right now it's the latest 
我使用Unity 5.6.0f3

,這也似乎是目前最新的。

我不能夠檢測到使用按鈕點擊

GvrViewer.Instance.Triggered 

統一UI事件是否按預期工作(按鈕和所有),但我需要,而無需使用UI執行一些動作,比如跳躍點擊在紙板上的按鈕。

在最新版本中,Google VR SDK表示它已經取消了對磁性按鈕的支持。但是我沒有使用磁性按鈕。我的按鈕與觸摸屏一起工作。 (版本的谷歌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) 

我檢查了它在手機上的各種組合不起作用。

+0

在紙板按鈕,有一個磁鐵,當它按下了手機識別爲屏幕上輕點。換句話說,在Unity中它應該是一個鼠標左鍵點擊。 – Hristo

+0

磁鐵按鈕不同,它用於與手機的「磁力計」進行交互。它在紙板的第一版中使用,在第二版中它使用屏幕觸摸。你是對的,屏幕觸摸應該是左鍵單擊,這是如何爲受影響的幀填充'Triggered'變量的值。它不工作,但我添加了相關的代碼和鏈接。 – 11thdimension

+0

您是否試過[this](https://github.com/CaseyB/UnityCardboardTrigger/blob/develop/MagnetSensor.cs)或[this](http://www.andrewnoske.com/wiki/Unity_-_Detecting_Google_Cardboard_Click#Detecting_Google_Cardboard_Magnetic_Button_Click_ -_Shorter_Version)? – Hristo

回答

2

由於我無法獲得Google VR檢測按鈕按下工作的方式(這是GvrViewer.Instance.Triggered),我最終在觸摸設備上使用Unity提供的觸摸事件。

現在我的狀態看起來像下面

Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began 
相關問題