1

我试图弄清楚 ARKit 是如何工作的。因此,我从 GitHub 下载了两个不同的项目。

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

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

他们俩我都收到“无法运行会话,此设备不支持配置:”错误。我正在 Xcode 和 iOS 中运行最新版本的测试版。

编辑:我在 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()
    }
}
4

1 回答 1

3

您必须将ARWorldTrackingSessionConfiguration两个项目中设置为配置的变量更改为 normal ARSessionConfiguration。考虑一下,如果你这样做,你只能得到设备的方向,而不是它在现实世界中的位置!因此,应用程序可能无法正常工作。您也可以更改为另一个支持的设备,ARWorldTrackingSessionConfiguration然后一切都应该没问题,但例如 iPhone 6 不能这样做。

正如 karthik 提到的,只有 6s 和 6s plus ,7 和 7s plus 支持 WorldTracking 配置。它也适用于 iPad(第 5 代)AFAIK。

更新: 我认为问题在于 iPhone 6 只有 A8 处理器。ARKit 模块有一个重要的通知,上面写着:

重要 ARKit 需要配备 A9 或更高版本处理器的 iOS 设备。

要使您的应用仅在支持 ARKit 的设备上可用,UIRequiredDeviceCapabilities请在应用的Info.plist. 如果增强现实是您应用的次要功能,请使用 isSupported 属性来确定当前设备是否支持您要使用的会话配置。

如果您查看 Simple-ARGame,您会看到,Touches 将被监听,但计算速度非常慢。我查看了iPhone 6的技术文档,上面说它只有 A8 处理器。所以可能你必须用另一个设备测试 ARKit。

于 2017-07-06T10:41:26.620 回答