2017-07-06 116 views
0

我想弄清楚ARKit是如何工作的。因此,我從GitHub下載了兩個不同的項目。試圖運行ARKit時無法運行會話測試

1)https://github.com/brianadvent/Simple-ARKit-Game

2-)https://github.com/exyte/ARTetris

他們兩個我得到 「無法運行會話,配置不支持此設備上: 」 的錯誤。 我正在Xcode和iOS中運行beta版本的最新版本。

編輯:我在Viewcontroller這個代碼。不應該工作嗎?

private func getSessionConfiguration() -> ARSessionConfiguration { 
    if ARWorldTrackingSessionConfiguration.isSupported { 
     // Create a session configuration 
     let configuration = ARWorldTrackingSessionConfiguration() 
     configuration.planeDetection = .horizontal 
     return configuration; 
    } else { 
     // Slightly less immersive AR experience due to lower end processor 
     return ARSessionConfiguration() 
    } 
} 
+0

某些設備不支持可能設置的WorldConfiguration。例如iPhone 6不支持。您可以嘗試將該配置更改爲默認配置,而不是它應該有效。 –

+1

它只支持6s和6s plus,7和7s plus在手機 – karthik

+0

因此我不能在iPhone 6的真實世界場景中獲得模型嗎?還是隻是別的嗎? –

回答

3

你必須改變可變ARWorldTrackingSessionConfiguration被設置爲在兩個項目配置到正常ARSessionConfiguration。想想看,如果你這樣做,你只能得到設備的方向,而不是它在真實世界中的位置!所以它可能是,應用程序不能精確地工作。你也可以更換爲另一個支持ARWorldTrackingSessionConfiguration的設備,那麼一切都應該沒問題,但iPhone 6無法做到這一點。

由於karthik只提到了6s和6s plus,7和7s支持WorldTracking配置。它也在iPad(第五代)AFAIK上工作。

更新: 我認爲問題是,iPhone 6只有一個A8處理器。該ARKit模塊具有重要通知它說:

重要 ARKit需要與A9或更高處理器iOS設備。

要使您的應用僅在支持ARKit的設備上可用,請在應用的部分使用arkit密鑰Info.plist。如果增強現實是您應用的輔助功能,請使用 isSupported 屬性確定當前設備是否支持您要使用的會話配置。

如果你看看Simple-ARGame,你可以看到,Touches將被監聽,但計算速度非常慢。我看了一下iPhone 6的技術文檔,它說它只有一個A8處理器。所以可能你必須用另一個設備來測試ARKit。

+0

我編輯了我的問題。我有一個代碼,檢查如果它有worldtrackin或不,但我仍然得到白色屏幕。我不應該得到一個相機,而不是這個? –

+0

@EmreÖnder查看我更新的答案。 –

+0

我仍然不明白我們可以在iPhone 6中使用ARkit做什麼。我的意思是爲什麼它具有「ARSessionConfiguration()」函數如果我們不能使用它? –