I am trying to print the ARsession's parameters like the following. It works when I do it within a session.
func session(_ session: ARSession, didUpdate frame: ARFrame) {
guard let arCamera = session.currentFrame?.camera else { return }
print("ARCamera ProjectionMatrix = \(arCamera.projectionMatrix)")
}
Result:
ARCamera ProjectionMatrix = simd_float4x4([[1.774035, 0.0, 0.0, 0.0], [0.0, 2.36538, 0.0, 0.0], [-0.0011034012, 0.00073593855, -0.99999976, -1.0], [0.0, 0.0, -0.0009999998, 0.0]])
However, I would like to access/print the parameters when a button is clicked. I tried the following:
@IBAction private func startPressed() {
print(ARSession.init().currentFrame?.camera.projectionMatrix)
}
But the result above returns nil
. Am I missing some obvious and can someone help me on how to correct this so I can properly access the camera parameters when the button is clicked?
Thanks in advance!