Swift SCNTransformConstraint不允许限制Eulerangle
我想限制Scenekit中相机的角度,使相机不能向上看(指向天空)。由于某些原因,我没有正确地获取SCNTransformConstraint。怎么办Swift SCNTransformConstraint不允许限制Eulerangle,swift,transform,scnnode,Swift,Transform,Scnnode,我想限制Scenekit中相机的角度,使相机不能向上看(指向天空)。由于某些原因,我没有正确地获取SCNTransformConstraint。怎么办 let cameraNode = SCNNode() let camera = SCNCamera() cameraNode.camera = camera cameraNode.position = SCNVector3(x: 0, y: 10, z: 30) let center = SCNNode(
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 > 0) {
newMatrix.m31 = 0.0
}
return newMatrix
})
cameraNode.constraints = [lookConstraint, transformConstraint]
scene.rootNode.addChildNode(cameraNode)
我想我设置的newMatrix.m31
不正确