如何实现垂直平面检测(即对于墙壁)?
let configuration = ARWorldTrackingSessionConfiguration() configuration.planeDetection = .horizontal //TODO
编辑: 自ARKit 1.5(iOS 11.3)起,现在支持。只需使用.vertical。我出于历史目的保留了以前的帖子。
.vertical
垂直平面检测还不是ARKit中的功能。这.horizontal表明该功能可能正在开发中,将来可能会添加。如果它只是一个布尔值,则表明它是最终值。
.horizontal
我在WWDC17与苹果工程师的对话证实了这种怀疑。
您可能会争辩说,为此创建一个实现将很困难,因为垂直平面比水平平面有更多的方向,但是正如 罗丹 所说,情况可能并非如此。
摘自 Rodamn的 评论: 简单来说,一个平面被定义为三个共面点。 一旦沿曲面(垂直,水平或任意角度)检测到足够的共面特征,便有了曲面候选。只是水平法线将沿着上/下轴,而垂直法线将平行于地平面。面临的挑战是,未经修饰的石膏板往往几乎不会产生视觉特征,而平原墙经常可能无法被检测到。我强烈怀疑这就是为什么该.vertical功能尚未发布的原因。
但是, 对此有相反的论点 。有关更多信息,请参见 rickster的 评论。