我正在构建一个图像跟踪应用程序,它显示一个带有 AV Player 的平面,以便使用 SCNPlane 在图像顶部播放视频。当用户滑动到下一张图像时,将播放下一个视频。我能够通过在 didAddNode 方法内检测到的图像顶部添加视频平面来实现它,但它仅在用户第一次滑动到结束图像时才起作用。如果用户再次访问同一张图像,它将不起作用,因为不会为已经看到的图像调用 didAddNode,而是调用 didUpdate。我可以一次只跟踪一张图像,这样无论是否已经跟踪,didAdd 都会在看到另一张图像时被触发
我能够使用 didUpdate 函数中的以下实现来解决它
if let imageAnchor = anchor as? ARImageAnchor, imageAnchor.isTracked == false {
self.sceneView.session.remove(anchor: anchor)
}