An SCNConstraint only limits the movement of an SCNNode. Once removed, it doesn't do anything to the existing position of an SCNNode. How about saving the original position of the camera in a variable and setting the camera's position back to the contents of that variable at the time you want to remove the constraints? The camera node's position when using simd computation is a simd_float3.
Such as:
let originalPosition = cameraNode.simdPosition;
Then later:
cameraNode.constraints?.removeAll();
cameraNode.simdPosition = originalPosition;
Topic:
Graphics & Games
SubTopic:
SceneKit
Tags: