嘿,我试图不断获取设备 camera/ARCamera 的价值。据我所知,只有一个功能允许我访问这些 ARCamera 特性。这是这里的功能:
码:
// Only gets called couple times when camera state changes
func session(_ session: ARSession, cameraDidChangeTrackingState camera: ARCamera)
print("\(camera.eulerAngles)")
}
我一直在考虑使用一些技巧,例如在函数中放置一个重复计时器以调用该值。但是我无法调用启动的本地选择器。我正在寻找的是与此功能类似的东西:
func renderer(_ aRenderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {
// This constantly gets called.
}
我想知道是否有一种方法可以将 ARCamera 合并到该函数中。
1 回答
如果要持续获取有关相机状态的更新,请实施ARSessionDelegate.session(_:didUpdate:):
ARFrame 对象应包含具有所有必要信息的
camera
字段。如果只想知道何时跟踪状态更改,则可能需要将
session(_:cameraDidChangeTrackingState:)
中的状态存储在字段中,并在渲染循环中引用它: