这是我之前的一篇文章的后续问题。目前,我在现实世界中把一个SCNNode放在一个已知的坐标上。我的应用程序要求用户避免使用平面检测或命中测试,相反,他们可以将一个对象放置在一个已知的坐标上,并希望它保持在那个位置。
目前,锚定的性能是次优的,我想找出方法来改进它。如果可能的话,我愿意听取任何建议。
提前感谢!
发布于 2020-03-02 06:53:23
ARKit 4.0解决方案
在最新版本的ARKit中,有名为ARGeoAnchor的GPS定位锚(由于CoreLocation框架的实现而起作用),使用熟悉的初始化程序:
@nonobjc convenience init(coordinate: CLLocationCoordinate2D,
altitude: CLLocationDistance?)ARKit 3.0解决方案
当然,您可以在没有plane detection和hit-testing/ray-casting的情况下将模型放置在AR场景中,尽管这可能会导致某些AR异常--您的模型可能被放置在场景的网格下面,或者模型可能放置在错误的位置,从而导致不正确的视差。
有一件事,你的场景一定有-锚为您的模型。如果没有这个锚,您的模型可能会漂浮在一个场景中,这会导致用户体验不良。在平面探测的情况下,你会自动地把ARPlaneAnchor拴在看不见的平面上。
因此,让我们看看您需要实现哪些方法才能获得健壮的AR体验,即使您不使用飞机检测和命中测试:
,您可以单独使用这些方法,也可以组合使用。
但你必须知道一件令人不快的事情--在ARKit / SceneKit中,模特的工作距离达到1000米。如果您的模型超出了这个限制,您将得到闪烁伪像。
https://stackoverflow.com/questions/60480834
复制相似问题