如何将3D对象连接到手机上,这样我就可以四处移动,然后点击屏幕后,3D对象应该保留在3D空间的当前位置?
答案 0 :(得分:0)
Native RealityKit方法
@Rumata,这是stick-and-drop
方法论的代码。应用启动后,球形对象将在5秒钟内自动掉落。您可以使用实现“手势手势”的相同方法(通过情节提要或通过编程来实现)。
import ARKit
import RealityKit
class ViewController: UIViewController {
@IBOutlet var arView: ARView!
override func viewDidLoad() {
super.viewDidLoad()
let mesh = MeshResource.generateSphere(radius: 0.1)
let sphere = ModelEntity(mesh: mesh)
sphere.transform.translation = [0, 0,-1]
let anchor = AnchorEntity(.camera)
sphere.setParent(anchor)
arView.scene.addAnchor(anchor)
DispatchQueue.main.asyncAfter(deadline: .now() + 5.0) {
let frame = self.arView.session.currentFrame
let envAnchor = AnchorEntity(world: (frame?.camera.transform)!)
sphere.removeFromParent()
envAnchor.addChild(sphere)
self.arView.scene.addAnchor(envAnchor)
}
}
}