ARKit:如何仅检测不包含障碍物的水平地面

时间:2018-06-27 06:18:41

标签: ios swift scenekit arkit plane

我正在使用ARKit开发水平面检测应用程序。它似乎工作正常。一旦检测到地板,我将尝试从中心点(检测到的地板)水平放置2米高和2米宽的SCNPlane平面。地板空着时,它也可以正常工作。如果地板上有一些物体(如家具等障碍物),则将SCNPlane放置在物体上方,而不是地板(物体下方)。如何仅检测除物体以外的水平地面。请指导我。谢谢

1 个答案:

答案 0 :(得分:1)

当您搜索并发现ARKit会在地板上放出网格时,通常人们会使用某种网格图像来显示该图像,但是有些人不想显示它。一旦网格放置完毕,您就放置了一个SCNPlane,假设您说它朝着地板/家具掉落,我假设它具有物理物体?

您可以通过3种方式进行此操作:

  • 您可以在楼层到达worldTrackingConfiguration后停止 被发现。
  • 一旦找到地板,您就可以获取Y-position并将每个对象绑定到该Y位置。
  • 我想您可以检查新检测的Y位置是否与下限检测重叠,那么可以,否则就可以了。 (我还没有测试过这个)