ARKit拖动对象的变化规模

问题描述:

©我试图移动我放在表面上的SCNNode对象。 İt移动但规模变化,它变得更小,当我第一次开始移动。ARKit拖动对象的变化规模

这就是我所做的;

@IBAction func dragBanana(_ sender: UIPanGestureRecognizer) { 
    guard let _ = self.sceneView.session.currentFrame else {return} 

    if(sender.state == .began) { 
     let location = sender.location(in: self.sceneView) 
     let hitTestResult = sceneView.hitTest(location, options: nil) 
     if !hitTestResult.isEmpty { 
      guard let hitResult = hitTestResult.first else {return} 
      movedObject = hitResult.node 
     } 
    } 
    if (sender.state == .changed) { 
     if(movedObject != nil) { 
      let location = sender.location(in: self.sceneView) 
      let hitTestResult = sceneView.hitTest(location, types: .existingPlaneUsingExtent) 
      guard let hitResult = hitTestResult.first else {return} 
      let matrix = SCNMatrix4(hitResult.worldTransform) 
      let vector = SCNVector3Make(matrix.m41, matrix.m42, matrix.m43) 
      movedObject?.position = vector 
     } 
    } 
    if (sender.state == .ended) { 
     movedObject = nil 
    } 
} 

这是因为你正在移动3轴上的物体,Z变化,这就是为什么它感觉像是缩放,但它只是靠近你。