私は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)
}
}
ドラッグが非常に遅く、滑らかではないという問題があります。
この質問に見てください、それを試してみたいこと.com/questions/6672677/how-to-use-uipangesture認識ツールから移動オブジェクト-iphone-ipad。パンジェスチャの状態で正しく作業する必要があります。 –
これはあなたのために機能しましたか? – mergesort
あなたが何かをJohn Doeの元に戻すことができたらどうかと思います。 –