According to the SceneKit document, the function of resetTransform is:
Updates the position and orientation of a body in the physics simulation to match that of the node to which the body is attached.
Through experiment, I found this is little special.
If you do this:
var node = SCNNode(geomentry: SCNBox()) node.position = SCNVector3(0, 1, 0) node.rotation = SCNVector4(1, 0, 0, CGFloat(M_PI)/2) node.physicsBody = SCNPhysicsBody(type: .Dynamic, nil) scene.rootNode.addChildNode(node) If you get the position and rotation of node.