title: SCNTransformConstraint not allowing to restrict Eulerangle
body: <p>I want to limit the angle of the camera in Scenekit to not allow the camera to look upwards (point to the sky). For some reason I am not getting the SCNTransformConstraint right. What to do?</p>
  
  <pre><code>    let cameraNode = SCNNode()
      let camera = SCNCamera()
      cameraNode.camera = camera
      cameraNode.position = SCNVector3(x: 0, y: 10, z: 30)
  
      let center = SCNNode()
      center.position = SCNVector3Make(15, 0, 10)
      let lookConstraint = SCNLookAtConstraint(target: center)
      lookConstraint.isGimbalLockEnabled = true
  
      // Make the constraint to not allow the camera to point upwards
      let transformConstraint = SCNTransformConstraint(inWorldSpace: true, with: {
          node, matrix in
  
          var newMatrix = matrix
          let currentNode = node as SCNNode
  
          if (currentNode.presentation.eulerAngles.x &gt; 0) {
              newMatrix.m31 = 0.0
          }
  
  
          return newMatrix
      })
  
      cameraNode.constraints = [lookConstraint, transformConstraint]
      scene.rootNode.addChildNode(cameraNode)
  </code></pre>
  
  <p>I guess I am setting the <code>newMatrix.m31</code> incorrectly?</p>