I'm using ARKit
with SpriteKit
. My AR feature is not a core feature in my app, users may optionally navigate to a viewController with an ARSKView
where I configure and set an SKScene
in the ARsession
.
I pause the session when the user navigates back:
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
sceneView.session.pause()
}
then the viewController is pop from the navigationController where it was pushed. But I'm seeing that the func update(_ currentTime: TimeInterval)
in my SKScene
subclass keeps being called... which is the appropriate way to also stop that? I thought that pausing the ARSession
would also stop the scene.
EDIT: when I navigate back from the view controller that holds the ARSKView
and it is deinitialized, I see that the SKScene
is still in memory and a new one is created every time I navigate again to the AR related view controller. So, if I navigate there N times, I see I have N SKScene
s in memory. How could I appropiately remove the scene when navigating back? The scene
property of the ARsession
is read only.
from ARKit: pausing session does not stop the scene to be called
No comments:
Post a Comment