在 ARKit 中我可以使用 hitTest:tapPoint types:ARHitTestResultTypeExistingPlaneUsingExtent
如果你想在上面放置对象,这很有效。 types:ARHitTestResultTypeExistingPlaneUsingExtent 的表格将仅检测检测到的平面范围内的命中。
如果你想在地板上放置物体,它就没那么有用了,因为你需要四处走动,直到 ARKit 在你的地板上放置(或扩展)很多平面。
ARHitTestResultTypeExistingPlane 解决了这个问题,因为您只需要检测到一小块地板,就可以在任何地方放置物体。然而,问题是一旦 ARKit 检测到另一个与地板不对应的平面(例如 table ),每个物体都会被放置在更高的表面上。
是否可以控制哪些飞机用于 HitTest ?
Best Answer-推荐答案 strong>
HitTest 方法返回多个结果,按与相机的距离排序。如果您对现有平面进行无限范围的测试,您应该在您描述的情况下看到至少两个结果:首先是 table / table /等,然后是地板。
如果您特别想要地板,有几种方法可以找到它:
关于ios - ARKit 仅检测地板以放置物体,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/46084692/
|