我在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。 –