我在ARKit中有一个简单的SCNNode,我试图将它拖动到手机的任何位置。这是我的代码。使用SceneKit在ARKit中拖动SCNNode
@objc func pan(recognizer :UIGestureRecognizer) {
guard let currentFrame = self.sceneView.session.currentFrame else {
return
}
var translation = matrix_identity_float4x4
translation.columns.3.z = -1.5
let sceneView = recognizer.view as! ARSCNView
let touchLocation = recognizer.location(in: sceneView)
let hitTestResult = sceneView.hitTest(touchLocation, options: [:])
if !hitTestResult.isEmpty {
print("hit result")
guard let hitResult = hitTestResult.first else {
return
}
let node = hitResult.node
node.simdTransform = matrix_multiply(currentFrame.camera.transform, translation)
}
}
问题是拖动非常缓慢而且不平滑。
采取对这个问题看:https://开头计算器.COM /问题/ 6672677 /如何使用的,uipangesturerecognizer到移动对象,iphone,ipad的。您应该正确使用平移手势状态。 –
这个工作适合你吗? – mergesort
想知道如果你设法弄清楚John Doe。 –