微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

上下滑动以将 ARKit 覆盖移入和移出

如何解决上下滑动以将 ARKit 覆盖移入和移出

我希望能够让用户上下滑动以相应地将对象移近和移近用户的脸部。

在这里类似地完成放大和缩小:

@objc func handlePitch(withGestureRecognizer recognizer: UIPinchGestureRecognizer) {
    let tapRecognizer = recognizer.location(in: arView)
    let hitTestResults = arView.hitTest(tapRecognizer)
    guard let node = hitTestResults.first?.node else {
        return
    }

    if (recognizer.state == .changed) {
        let pinchScaleX = Float(recognizer.scale) * faceOverlayContent.scale.x
        let pinchScaleY =  Float(recognizer.scale) * faceOverlayContent.scale.y
        let pinchScaleZ =  Float(recognizer.scale) * faceOverlayContent.scale.z

        faceOverlayContent.scale = SCNVector3(x: Float(pinchScaleX),y: Float(pinchScaleY),z: Float(pinchScaleZ))
        recognizer.scale=1
    }
}

我的尝试并将其移入移出:

  @objc func handlePan(_ gestureRecognizer: UIPanGestureRecognizer){
    gestureRecognizer.minimumNumberOftouches = 1

    let results = self.arView.hitTest(gestureRecognizer.location(in: gestureRecognizer.view),types: ARHitTestResult.ResultType.featurePoint)
    guard let result: ARHitTestResult = results.first else {
        return
    }
    
    if (gestureRecognizer.state == .changed) {
        let position = SCNVector3Make(result.worldTransform.columns.3.x,result.worldTransform.columns.3.y,result.worldTransform.columns.3.z)
        faceOverlayContent.position = position
    }
}

当我平移时它根本不会移动对象。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。