1
私はまずUIPinchGestureRecognizer
とapplyForceを使ってフィジックボディを前後に動かします。次に、UIRotationGestureRecognizer
とSCNAction
を使用してノードをローテーションします。オブジェクトは前方に移動して回転していますが、回転が発生する前に、オブジェクトは(ノードの)開始位置にジャンプします。 cameraNode1.presentationNodeの位置は更新されていますが、2番目のジェスチャリスナを使用しているときはリセットされています。どうして?プレゼンテーションノードの位置がリセットされています
func handlePinch(recognizer: UIPinchGestureRecognizer) {
var dz = 5 * (1 - recognizer.scale)
self.cameraNode1.physicsBody?.applyForce(SCNVector3(0, 0, dz), impulse: true)
recognizer.scale = 1
}
func handleRotate(recognizer: UIRotationGestureRecognizer) {
let rot = -recognizer.rotation
recognizer.rotation = 0
let action = SCNAction.rotateByX(0, y: rot, z: 0, duration: NSTimeInterval(0))
self.cameraNode1.runAction(action)
}
絶対に正しいです!ありがとうございました! –