约束是影响节点位置和方向的规则,我们可以向节点添加约束。
将约束与动画,物理特性或用户输入相结合,可以快速的设置复杂的场景以及节点之间的关系。约束用SCNConstraint类实现。
为了演示约束,我们将添加一个棱锥~这个棱锥将一直盯着胶囊看~哈哈~上代码:
// 约束
let pointer = SCNPyramid(width: 0.5,height: 0.9,length: 4)
let pointerNode = SCNNode(geometry: pointer)
pointerNode.position = SCNVector3(-5,0,0)
sceneOne.rootNode.addChildNode(pointerNode)
let lookAtConstraint = SCNLookAtConstraint(target: capsuleNodeOne)
lookAtConstraint.gimbalLockEnabled = true
pointerNode.constraints = [lookAtConstraint]