Jan*_* F. 49 ios swift ios11 arkit ios12
如何实现垂直平面检测(即墙壁)?
let configuration = ARWorldTrackingSessionConfiguration()
configuration.planeDetection = .horizontal //TODO
Run Code Online (Sandbox Code Playgroud)
Zac*_*ack 66
编辑:现在支持ARKit 1.5(iOS 11.3).简单地使用.vertical.出于历史目的,我保留了上面的帖子.
垂直平面检测不是(现在)ARKit中存在的特征.该.horizontal建议,这个功能可能处于工作状态,并可能在未来加入.如果它只是一个布尔值,这表明它是最终的.
我在WWDC17与一位Apple工程师进行的一次对话证实了这种怀疑.
您可能会争辩说,为此创建实现将是困难的,因为对于垂直平面而不是水平平面有更多的方向,但正如Rodamn所说,情况可能并非如此.
来自rodamn的评论:
最简单的是,一架飞机被定义为三个共面点.一旦沿表面检测到足够的检测到的共面特征(垂直,水平或任意角度),就有一个表面候选者.只是水平线的法线将沿着上/下轴,而垂直法线将平行于地平面.挑战在于,朴素的干墙往往产生很少的视觉特征,而平坦的墙壁往往不会被发现.我强烈怀疑这就是该.vertical功能尚未发布的原因.
但是,这有一个反驳的论点.有关更多信息,请参阅rickster的评论.
iOS 11.3将支持此功能:
static var vertical: ARWorldTrackingConfiguration.PlaneDetection会话检测与重力平行的表面(无论其他方向如何).
https://developer.apple.com/documentation/arkit/arworldtrackingconfiguration.planedetection https://developer.apple.com/documentation/arkit/arworldtrackingconfiguration.planedetection/2867271-vertical
小智 5
Apple发布的iOS 11.3将针对AR提供各种更新,包括ARKit 1.5.在此更新中,ARKit包括ARKit识别虚拟对象并将其放置在墙壁和门等垂直表面上的功能.
ARWorldTrackingConfiguration现在支持垂直支持
let configuration = ARWorldTrackingConfiguration()
configuration.planeDetection = [.horizontal, .vertical]
sceneView.session.run(configuration)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13224 次 |
| 最近记录: |