2017-09-02 70 views
2

在Apple的演示文稿中他們說如果ARWorldTrackingConfiguration不支持,我們可以使用較小的AROrientationTrackingConfiguration(以前稱爲ARSessionConfiguration)。在低端設備中支持ARKit?

但是當我嘗試這一個A8設備(iPad的迷你4)上,它沒有什麼區別是否讓ARWorldTrackingConfiguration()失敗與否。跟蹤不起作用。

if ARWorldTrackingConfiguration.isSupported { 
     let configuration = ARWorldTrackingConfiguration() 
     sceneView.session.run(configuration) 
    } 
    else { 
     sceneView.session.run(AROrientationTrackingConfiguration()) 
    } 

如果A8不支持ARKit,支持AROrientationTrackingConfiguration()有什麼意義?

+0

我不認爲你可以希望的A8設備的任何deteministic行爲。 ArKit支持僅適用於A9及以上版本,因爲Apple的狀態爲 'ARKit在Apple A9和A10處理器上運行。這些處理器提供突破性的性能,可以快速瞭解場景,並讓您在真實世界的場景之上構建詳細且引人注目的虛擬內容。您可以利用Metal,SceneKit和第三方工具(如Unity和虛幻引擎)中的ARKit優化。 –

+0

然後哪些設備支持AROrientationTrackingConfiguration()? –

回答

4

所有ARKit僅支持A9及以上版本,其中包括AROrientationTrackingConfiguration。正如他們所說的ARKit docs頂部...

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

要使僅適用於支持ARKit設備您的應用程序,在您的應用程序的Info.plist的UIRequiredDeviceCapabilities部分使用arkit關鍵。如果增強現實是您應用的輔助功能,請使用isSupported屬性來確定當前設備是否支持您要使用的會話配置。

因此,您確實可以製作僅適用於iOS 11設備子集的iOS 11應用程序。需要UIRequiredDeviceCapabilities中的內容使得App Store不會在您不支持的設備上提供您的應用程序,並使iTunes拒絕安裝該應用程序。

(是的,它看起來像蘋果花了一點,以獲得他們的故事直奔這裏。回到WWDC它看起來像他們會支持三自由度跟蹤在較小的設備,但現在你需要A9甚至對。)


那麼AROrientationTrackingConfiguration現在有什麼意義?

對於某些類型的應用程序,它可能是有意義的下降從世界回到跟蹤(六自由度),以定向僅跟蹤(三自由度)當電流條件不允許的六自由度。對於在桌面上放置虛擬物體的應用來說,這沒有什麼意義,但如果您只是將空間入侵者放在空中供玩家拍攝,或者使用AR覆蓋天空中的星座,那麼丟失6DOF並不會讓您感到失望,這麼糟糕的經歷讓我非常失望。

+0

把太空侵略者放在空中恰恰是我要做的。我在iPad mini上試了一下,使用AROrientationTrackingConfiguration不起作用(背景是黑色而不是照相機圖像,但顯示的節點不能全部移動)。 –

+0

最好的iPad * mini *你可以得到[有一個A8芯片](https://www.apple.com/ipad-mini-4/specs/),所以它不被ARKit支持。 – rickster

+0

這是什麼時候發生的? 「噹噹前條件不允許6DOF時,將世界跟蹤(6DOF)轉換爲僅定向跟蹤(3DOF)。」 –

0

我想,蘋果實現了這個接口在一個虛擬的方式對設備不支持ARKit不犯如果ARKit是在應用程序中使用它們崩潰,並讓他跟比A9 +設備功能較少運行。

+0

哪些設備不支持可以支持AROrientationTrackingConfiguration()的ARKit?它似乎甚至不支持A8。 –

+0

我的答案是關於兼容性。當您爲iOS 11創建應用程序時,您希望它可以在所有設備上運行,即使其中一些設備不支持一項功能。通常,應用程序會執行幾件事情,您希望您的應用程序適用於所有支持的設備和所有支持的功能。如果一個功能不被支持,那麼所有其他功能仍然可以工作。因此,在這種情況下,您不希望應用程序崩潰,因爲該功能不受支持,因此存在缺少的庫。 – Xvolks

0

如果你想支持更大的一組設備,8th Wall XR是你想要的庫。它比最新的iOS支持更多的設備。如果您決定讓您的應用進入該細分市場,相同的代碼也可以在Android上運行。

0

您可以在運行時使用ARConfiguration的'isSupported`屬性以編程方式檢查ARKit支持。

ARConfiguration.isSupported

if (ARConfiguration.isSupported) { 
    // ARKit is supported.... 
} else { 
    // ARKit is not supported.... 
} 

繼iOS設備(與iOS 11安裝)被支撐ARKit只:

  • iPhone X
  • iPhone 8,8加上
  • iPhone 6S和6S加
  • iPhone SE
  • iPad的臨(9.7,10.5或12.9)
  • 的iPad(2017年)

以下是有關ARKit支持某些參考鏈接& iOS設備配置:

ARKit對蘋果運行A9 and A10 & A11 Bionic chip處理器。
iPhone Models - (Chip)
iPad Models - (Chip)