ARKit –不进行平面检测和命中测试的锚固

问题描述 投票:1回答:1

这是我以前的一篇文章的后续问题。目前,我正在将SCNNode放置在现实世界中的已知坐标处。我的应用程序要求用户避免使用平面检测或命中测试,而是希望他们可以将对象放置在已知坐标处并希望它保持锚定在该位置。

当前,锚定的性能不是最佳的,我想找到方法来改进它。如果可能,我会提出任何建议。

提前感谢!

swift augmented-reality scenekit arkit realitykit
1个回答
0
投票

当然,您可以在没有plane detectionhit-testing / ray-casting的情况下将模型放置在AR场景中,尽管这可能会导致某些AR异常-您的模型可能被放置在场景的网格下方,或者模型可能放置在错误的位置导致不正确视差的位置。

您的场景必须始终具有一件事–模型的锚点。没有锚点,您的模型可能会漂浮在场景中,从而导致糟糕的用户体验。在平面检测的情况下,您会自动将ARPlaneAnchor绑定到不可见的平面。

因此,让我们看看即使不使用平面检测和命中测试,也必须采取哪些方法才能获得可靠的AR体验:

  • 使用预先跟踪的ARWorldMap。很难使其用于建筑物
  • 使用在跟踪环境中易于区分的特殊标记
  • 使用GPS(包括Google地图)和iBeacon导航
  • 使用Gravity-and-Heading罗盘对准
  • 使用周围物体检测AI算法

您可以单独或组合使用这些方法

但是您必须了解一件令人不愉快的事情– ARKit / SceneKit中的模型的工作距离最大为1000米。如果您的模型超出该限制,则将获得flickering artifacts

© www.soinside.com 2019 - 2024. All rights reserved.