无论相机的位置如何,在 ARSCNVIEW 中绘制一个 SCNNode

Posted

技术标签:

【中文标题】无论相机的位置如何,在 ARSCNVIEW 中绘制一个 SCNNode【英文标题】:Plot an SCNNode in a ARSCNVIEW irespective of the Camera's position 【发布时间】:2018-07-21 19:40:04 【问题描述】:

我正在使用类似于Lowe's Vision Navigation 的 AR Scene Kit 为零售店开发 ios 店内导航应用。因此,首先我想以编程方式绘制 AR 场景套件中商店中可用的任何 xyz 产品的位置,而不管相机的初始位置如何,但产品在商店中的位置将保持不变。我对 AR 和 Scene Kit 完全陌生。

我可以在 ARSCNView 中添加一个 SCNNode,但问题将是我的相机的初始位置,因为只有 SCNNode 正在绘图。完成此操作后,我需要从我在商店内的位置为所选产品提供店内导航,可能正在使用 iBeacon 或其他等效产品。

【问题讨论】:

您可以使用 imageDetection 来获取初始位置。 【参考方案1】:

SCNNodes 的操作有点像 UIViews,从某种意义上说,正如你所说,位置是相对于父节点/视图的。对于您想要相对于整个视图或世界的位置的情况,您可以使用 worldTransform 和 -convertPosition:toNode: 。

World Transform

Convert Position To Node

【讨论】:

以上是关于无论相机的位置如何,在 ARSCNVIEW 中绘制一个 SCNNode的主要内容,如果未能解决你的问题,请参考以下文章

ARKit ARSCNView.snapshot() 内存泄漏

Android 绘制相机预览

将 ARSCNView 场景背景内容设置为 iPhone X 摄像头

如何在 iOS swift 中的 ARSCNView 中显示 uicollection 视图

unity中相机任意位置角度且与鼠标位置无关时Debug.DrawLine的终点参数怎么确定?

如何绘制一个矩形到脸部的位置?