如何将 3D 对象附加到屏幕?

How to attach 3D object to screen?

如何制作一个 3D 对象附加到我的 phone,这样我就可以四处移动,然后在我点击屏幕后 - 3D 对象应该保持在 3D 中的当前位置 space?

原生 RealityKit 方法

@Rumata,这是您的代码在 stick-and-drop 方法中的样子。球体对象将在应用程序启动后 5 秒内自动掉落。您可以采用与实现 Tap Gesture 相同的方式(通过 Storyboard 或以编程方式,由您决定)。

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)
        }
    }
}