【发布时间】:2017-11-27 12:23:39
【问题描述】:
我在 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)
}
}
问题是拖很慢而且不流畅。
【问题讨论】:
-
看看这个问题:stackoverflow.com/questions/6672677/…。您应该正确使用平移手势状态。
-
这对你有用吗?
-
想知道您是否设法弄清楚 John Doe。
-
你做到了吗?我正在寻找相同的。