使用 ARKit 人脸追踪时 didUpdate 回调的速率
The rate of didUpdate callbacks when using ARKit face tracking
正在检查使用 ARKit 进行眼动追踪以用于新应用程序的可行性。
我们想使用具有真实深度功能的 iOS 设备记录用户在屏幕上看到的点(连同时间戳)。
我有 2 个问题:
- 调用
renderer:didUpdate
的速率是否有一定的保证。例如,我们知道每秒至少调用 30 次吗?
- 在我看到的所有示例中,使用 ARKit 面部跟踪需要 SceneKit,是否可以选择在没有 SceneKit 的情况下使用面部跟踪?
第一.
很遗憾,但不能保证您的应用可以以 60 fps 的速度渲染场景,也不能保证您的应用可以以 30 fps 的速度渲染它。您可以使用 preferredFramesPerSecond 实例 属性...
设置渲染帧率
var preferredFramesPerSecond: Int { get set }
或:
@IBOutlet var sceneView: ARSCNView!
sceneView.preferredFramesPerSecond = 30
...但这取决于一系列因素(特别是取决于场景中有多少高多边形模型、PBR 着色器和阴影)。因此,您需要选择您的应用可以始终保持的帧速率。
The default value of preferredFramesPerSecond
is 0. When this value is 0, the preferred frame rate is equal to the maximum refresh rate of the display, as indicated by the maximumFramesPerSecond property.
第二.
除了SceneKit框架,对于人脸追踪你还可以使用一个名为RealityKit的全新框架。但坦率地说,我还没有在 RealityKit 的上下文中尝试过 eye tracking
,或者所谓的 gaze detection
。
正在检查使用 ARKit 进行眼动追踪以用于新应用程序的可行性。 我们想使用具有真实深度功能的 iOS 设备记录用户在屏幕上看到的点(连同时间戳)。 我有 2 个问题:
- 调用
renderer:didUpdate
的速率是否有一定的保证。例如,我们知道每秒至少调用 30 次吗? - 在我看到的所有示例中,使用 ARKit 面部跟踪需要 SceneKit,是否可以选择在没有 SceneKit 的情况下使用面部跟踪?
第一.
很遗憾,但不能保证您的应用可以以 60 fps 的速度渲染场景,也不能保证您的应用可以以 30 fps 的速度渲染它。您可以使用 preferredFramesPerSecond 实例 属性...
设置渲染帧率var preferredFramesPerSecond: Int { get set }
或:
@IBOutlet var sceneView: ARSCNView!
sceneView.preferredFramesPerSecond = 30
...但这取决于一系列因素(特别是取决于场景中有多少高多边形模型、PBR 着色器和阴影)。因此,您需要选择您的应用可以始终保持的帧速率。
The default value of
preferredFramesPerSecond
is 0. When this value is 0, the preferred frame rate is equal to the maximum refresh rate of the display, as indicated by the maximumFramesPerSecond property.
第二.
除了SceneKit框架,对于人脸追踪你还可以使用一个名为RealityKit的全新框架。但坦率地说,我还没有在 RealityKit 的上下文中尝试过 eye tracking
,或者所谓的 gaze detection
。