Moving objects with multiple nodes

I just need help referencing a model made up of multiple objects. Essentially I modeled a humanoid character with the variables below..


let scene = SCNScene(named: "art.scnassets/Soldier MK4 Confused.dae")!

let headNode = scene.rootNode.childNode(withName: "Head", recursively: true)

let neckNode = scene.rootNode.childNode(withName: "Neck", recursively: true)

let earRNode = scene.rootNode.childNode(withName: "EarR", recursively: true)

let earLNode = scene.rootNode.childNode(withName: "EarL", recursively: true)

let torsoNode = scene.rootNode.childNode(withName: "Torso", recursively: true)

let shoulderRNode = scene.rootNode.childNode(withName: "ShoulderR", recursively: true)

let shoulderLNode = scene.rootNode.childNode(withName: "", recursively: true)

let armRNode = scene.rootNode.childNode(withName: "ArmR", recursively: true)

let armLNode = scene.rootNode.childNode(withName: "ArmL", recursively: true)

let legRNode = scene.rootNode.childNode(withName: "LegR", recursively: true)

let legLNode = scene.rootNode.childNode(withName: "LegL", recursively: true)


As you can see the character is made up of multiple nodes.

How would I ensure that each node is keeps their XYZ position relative to the .dae original positions when a touch function is used to place the character in AR?

I want to place the character as displayed in the viewer instead of placing a pile of body parts at the hit-test location.