我的问题是 - 可以ARSession
在后台运行 - 基本上我需要ARKit运行和所有的每帧信息和相机激励,但我不想在屏幕上渲染相机 - 如ARSCNView
中发生的那样。
不是专门在后台线程或进程中。
基本上我只想使用ARKit中的跟踪信息(图像+相机位置+相机欧拉角等)而不想在AR本身或相机输入中渲染任何内容。
在每个人都跳过我之前 - 我知道Apple在后台限制GPU进程 - 例如:
由于执行期间的错误,命令缓冲区的执行被中止。权限不足(从后台提交GPU工作)(IOAF代码6)
但是应该有一种方法可以在没有摄像头输入的情况下使用ARKit
或ARSession
,只有跟踪信息,对吗?
只要ARSCNScene
或ARSKScene
完全覆盖AR跟踪停止,就无法做你想做的事情。这有几个原因。
首先,ARKit用于增强现实,而不是跟踪操作。如果您没有在屏幕上显示现实(相机输入),那么您无法增强现实感。
其次,最重要的是,Apple关心用户隐私,如果您可以在不显示屏幕上的Feed的情况下访问相机,则用户无法知道相机何时使用。这将留下应用程序在他们不知情的情况下监视用户的可能性。 Apple永远不会允许这样做。永远。
此外,AR会严重撞击电池,因此只有在实际使用时才会运行。
根据您的评论,似乎您实际上并不想创建AR体验,因此可能有更好的方法通过标题信息和加速计获得您所需的信息。