检测到的 ARKit 图像重新出现

tac*_*ite 1 ios swift arkit ios12

我目前正在使用 ARKit 2.0(测试版)进行一些图像识别,但我正在为一件事而苦苦挣扎。当我检测到我的图像时,我会在它旁边放一个对象(不管是什么对象,它只是一个节点,其材质基于我找到的图像)。

我的问题是:当找到的图像重新出现时,是否有 ARKit 函数触发(因此节点也与图像锚点相关联)?我正在寻找正确的知识,但我没有找到任何好的东西

小智 6

在 ARKit 3 中,我设法检测图像何时从视图中消失renderer(_:didUpdate:for)并检查锚的isTracked属性何时设置为false.

func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {
    if let imageAnchor = anchor as? ARImageAnchor, imageAnchor.isTracked == false {
        view?.sceneView.session.remove(anchor: anchor)
    }
}
Run Code Online (Sandbox Code Playgroud)