Question: I have a `SCNNode` and a full working physics body attached to it, but the physics bodies center/resting-point is at the bottom of the `SCNNode`.

Here's what I'm trying to do:

* Figure out how to position the physics body at the center of the node.
* Figure out how to control its positioning in some way.

Apple Developer hasn't help me so far. Here is what I have:

```swift
let nodePhysicsBody = SCNPhysicsBody(type: .dynamic, shape: SCNPhysicsShape(geometry: SCNCapsule(capRadius: 2.0, height: 2.0), options: nil))

```

I found this init method, but I'm not sure if it will work, or how to implement it.

```swift
.init(circleOfRadius r: CGFloat, center: CGPoint()

```

Answer: 
I'd suggest trying the `SCNPhysicsShape` [`init(shapes:transforms:)`](https://developer.apple.com/reference/scenekit/scnphysicsshape/1508886-init) initializer — rather than constructing a physics shape out of several shapes (and using the `transforms` parameter to position them relative to one another), you might be able to pass a single shape and a transform that offsets it from the center of the parent coordinate space.
For a full example (my physics were centered about the base of my .dae animation, and I needed the physics body centered at the center of mass of the SCNNode):

```
// refNode is the SCNReferenceNode loaded from the .dae animation
 let kCharacterScale = SCNVector3(20.0,20.0,20.0)   //Set the node and physics scales
 let boundingBox = refNode.boundingBox
 let min = boundingBox.min
 let max = boundingBox.max
 let w = (max.x - min.x) 
 let h = (max.y - min.y) 
 let l = (max.z - min.z) 
 let boxShape = SCNBox (width: CGFloat(w) , height: CGFloat(h) , length: CGFloat(l), chamferRadius: 0.0)
 var shape = SCNPhysicsShape(geometry: boxShape, options: [SCNPhysicsShape.Option.scale : kCharacterScale, SCNPhysicsShape.Option.type : SCNPhysicsShape.ShapeType.boundingBox])
 let translate = SCNMatrix4MakeTranslation(0.0, (h*kCharacterScale.y/2.0), 0.0)
 let translateMatrix = NSValue.init(scnMatrix4: translate)
 shape = SCNPhysicsShape.init(shapes: [shape], transforms: [translateMatrix])
        refNode.physicsBody = SCNPhysicsBody(type: .kinematic, shape: shape)

```