2016-03-21 45 views
1

我正在嘗試製作一個響應某個Update()方法中的Cardboard.SDK.Tilted標誌的應用程序。Google Cardboard Unity SDK傾斜不能在設備上工作

在Unity Player中運行時,通過按下Esc按鈕,Cardboard.SDK.Tilted設置爲true,所以這很好。 但是當我爲Android構建應用程序時,如果我傾斜設備,Cardboard.SDK.Tilted保持爲假。其他具有傾斜操作的VR應用在我的手機上正常工作。在爲Android構建這個工作之前,我還需要啓用其他選項嗎?

我使用Unity v5.3.3f1和紙板SDK V0.6,我在嘗試了設備的Xperia Z2,三星Galaxy S3和iPhone 6

編輯: 所以,我已經嘗試把這個代碼到這兩個更新()和LateUpdate()方法:

if (Cardboard.SDK.Tilted) { 
      print("tilted, next scene"); 
      NextScene(); 
} 

當屏幕傾斜,新的場景應該被加載。 但正如我所說,它只在Unity Player中工作,按下Esc按鈕觸發傾斜,在真實設備上什麼也沒有發生 - Cardboard.SDK.Tilted變量永遠不會設置爲true。

我在https://recordnotfound.com/cardboard-unity-googlesamples-6780/issues上看到在v0.6中存在停止Tilt的問題,是否有可能不再支持?但奇怪的是,它可以在Unity Player中運行,但不能在真實的設備上運行。

回答

1

我可以驗證Cardboard.SDK.Tilted標誌不像以前版本的SDK中那樣工作。轉義按鈕在調試器中觸發它,但傾斜操作不會在構建中觸發它。

但是,你可以用Input.acceleration很簡單地實現等價物:

float angle = 80.0f/360.0f * 2.0f * Mathf.PI; 
bool isTilted = Mathf.Abs(Input.acceleration.normalized.x) > Mathf.Sin(angle); 
if (Cardboard.SDK.Tilted || isTilted) 
{ 
    //Action here 
} 

如果設備的加速完全是由於重力作用,角浮子從水平設備的角度。試圖規範化一個太小的Vector3將其設置爲零,因此小向量不應該使條件失效。預先計算您的正弦值以節省一個週期。

相關問題