【问题标题】:ARKit: How to detect only Horizontal floor excluding obstaclesARKit:如何仅检测不包括障碍物的水平地板
【发布时间】:2018-06-27 14:32:51
【问题描述】:
我正在使用 ARKit 开发水平面检测应用程序。它似乎工作正常。一旦检测到地板,我将尝试从中心点(检测到的地板)水平放置 2 米高和 2 米宽的 SCNPlane。当地板是空的时,它也可以正常工作。如果地板有一些物体(像家具这样的障碍物),那么 SCNPlane 被放置在物体上而不是地板(在物体下面)。如何仅检测不包括物体的水平地板。请指导我。谢谢
【问题讨论】:
标签:
ios
swift
scenekit
arkit
plane
【解决方案1】:
当你搜索并找到地板时,ARKit 会放出一个网格,通常人们会使用某种网格图像来显示它,但有些人不想显示它。网格放置好后,您可以放置一个 SCNPlane,我假设它有一个实体,正如您所说的它会落向地板/家具?
您可以通过 3 种方式做到这一点:
- 您可以在楼层结束后停止
worldTrackingConfiguration
已找到。
- 找到地板后,您可以获取
Y-position 并将每个对象绑定到该 Y 位置。
- 我想你可以检查一下新检测的 Y 位置是否与地板检测重叠,否则没关系。 (我没有测试过这个)