仅靠ARkit是无法实现这一点的。它没有提供任何解决遮挡问题的现成解决方案,这是一个难题。
理想情况下,您需要知道相机上每个像素的深度,并使用它来确定前面和后面的像素。我不会尝试使用ARKit公开的特征点进行操作,因为1)它们的位置不准确,2)无法知道帧A中的哪个特征点与帧B中的哪个特征点对应。这些数据太嘈杂了,很难做好任何事情。
您可能可以通过第三方选项实现某些内容,以处理捕获的图像并了解场景中的深度或不同深度级别,但我不知道任何好的解决方案。有一些SLAM技术可以产生像DTAM这样的密集深度图(https://www.kudan.eu/kudan-news/different-types-visual-slam-systems/),但那将重新做ARkit正在做的大部分工作。可能还有其他我不知道的方法。像Snap这样的应用程序以自己的方式进行操作,因此这是可能的!