1

使用 ARKit 检查眼动追踪在新应用中的可行性。我们希望使用具有 True Depth 功能的 iOS 设备记录用户查看的屏幕上的点(以及时间戳)。我有两个问题:

  1. renderer:didUpdate被调用的速率是否有一些保证。例如,我们是否知道它每秒至少被调用 30 次?
  2. 在我看到的所有示例中,使用 ARKit 面部跟踪需要 SceneKit,是否可以选择在没有 SceneKit 的情况下使用面部跟踪?
4

1 回答 1

1

首先

很遗憾,但不能保证您的应用程序可以以 60 fps 的速度渲染场景,也不能保证您的应用程序可以以 30 fps 的速度渲染它。您可以使用preferredFramesPerSecond实例属性设置渲染帧速率...

var preferredFramesPerSecond: Int { get set }

或者:

@IBOutlet var sceneView: ARSCNView!
sceneView.preferredFramesPerSecond = 30

...但这取决于一系列因素(特别是取决于您的场景有多少高模、PBR 着色器和阴影)。因此,您需要选择您的应用程序可以始终保持的帧速率。

的默认值为preferredFramesPerSecond0。当此值为 0 时,首选帧速率等于显示器的最大刷新率,如 maximumFramesPerSecond 属性所示。

第二

除了 SceneKit 框架,对于面部跟踪,您还可以使用名为RealityKit的全新框架。但坦率地说,我还没有尝试过eye tracking,或者所谓gaze detection的,在 RealityKit 的上下文中。

于 2020-01-15T15:47:27.647 回答