在低端设备中支持ARKit?

在低端设备中支持ARKit?

问题描述:

在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()? –

所有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)。” –

我想,苹果实现了这个接口在一个虚拟的方式对设备不支持ARKit不犯如果ARKit是在应用程序中使用它们崩溃,并让他跟比A9 +设备功能较少运行。

+0

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

+0

我的答案是关于兼容性。当您为iOS 11创建应用程序时,您希望它可以在所有设备上运行,即使其中一些设备不支持一项功能。通常,应用程序会执行几件事情,您希望您的应用程序适用于所有支持的设备和所有支持的功能。如果一个功能不被支持,那么所有其他功能仍然可以工作。因此,在这种情况下,您不希望应用程序崩溃,因为该功能不受支持,因此存在缺少的库。 – Xvolks

如果你想支持更大的一组设备,8th Wall XR是你想要的库。它比最新的iOS支持更多的设备。如果您决定让您的应用进入该细分市场,相同的代码也可以在Android上运行。

您可以在运行时使用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)