Swift3 导致缩放三维模型的SCNLookat约束
在进一步测试和评估之后,似乎是SCNLookAtConstraint导致了问题。基本上,因为它删除了2指平移手势,它导致了一些奇怪的捏和滚动手势行为。有人知道如何解决这个问题吗Swift3 导致缩放三维模型的SCNLookat约束,swift3,scenekit,Swift3,Scenekit,在进一步测试和评估之后,似乎是SCNLookAtConstraint导致了问题。基本上,因为它删除了2指平移手势,它导致了一些奇怪的捏和滚动手势行为。有人知道如何解决这个问题吗 UPDATE: 你是如何变焦照相机的?我在你的代码中看不到移动相机的任何地方。当前使用默认行为允许相机控制。它为我处理手势,但当使用1个手指旋转和2个手指挤压手势时,它允许我的对象缩小到从视图中消失的点。 override func touchesEnded(_ touches: Set<UITouch>
UPDATE:
你是如何变焦照相机的?我在你的代码中看不到移动相机的任何地方。当前使用默认行为允许相机控制。它为我处理手势,但当使用1个手指旋转和2个手指挤压手势时,它允许我的对象缩小到从视图中消失的点。
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
let quaternion = sceneView.pointOfView?.orientation
let position = sceneView?.pointOfView?.position
print("Orientation: ((quaternion?.x),(quaternion?.y),(quaternion?.z),(quaternion?.w)) Position: ((position?.x),(position?.y),(position?.z)")
}
func setupScene() {
let scene = SCNScene()
self.sceneView.scene = scene
let camera = SCNCamera()
let cameraNode = SCNNode()
cameraNode.camera = camera
cameraNode.position = SCNVector3(x: -1.0, y: 0.0, z: -1.0)
cameraNode.boundingBox.max = SCNVector3(x: 2, y: 2, z: 2)
cameraNode.boundingBox.min = SCNVector3(x: 0.1, y: 0.1, z: 0.1)
let centerNode = SCNNode()
centerNode.position = SCNVector3(x: 0.0, y: 0.0, z: 0.0)
let light = SCNLight()
let lightNode = SCNNode()
light.type = .ambient
light.color = UIColor.white
lightNode.light = light
scene.rootNode.addChildNode(cameraNode)
scene.rootNode.addChildNode(centerNode)
scene.rootNode.addChildNode(lightNode)
cameraNode.constraints = [SCNLookAtConstraint(target: centerNode)]
sceneView.pointOfView = cameraNode
}