|
1
15
在大多数情况下,您的代码都会在检测到的图像上放置一个平面,因此很明显,您在那里有一些东西可以成功地将平面的中心位置设置为图像锚点的中心位置。也许你的第一步应该是更好地理解你的代码。。。
随着时间的推移,ARKit会找出更多相同平面的位置,因此飞机会锚定
一
因此,要在
您链接到的演示视频并不是将东西放在3D空间中,而是将2D UI元素放在屏幕上,其位置跟踪世界空间中锚的3D相机相对运动。
你很容易就能得到
友善的
通过使用
如果这就是您想要的效果,那么也有一个应用程序(le示例代码)。这个
Using Vision in Real Time with ARKit
示例主要是关于其他主题,但它
做
演示如何使用
也就是说,只需实现
然而,演示视频所做的不仅仅是精灵广告牌:它与绘画相关联的标签不仅在2D方向上保持不变,而且在2D大小上保持不变(也就是说,它们不会像广告牌上的精灵那样缩放以模拟透视效果)。更重要的是,它们似乎是UIKit控件,具有全套继承的交互行为,而不仅仅是2D图像,这类图像是使用SpriteKit的方式。 苹果的API并没有提供一种开箱即用的直接方法来实现这一点,但要想通过某种方式将API片段组合在一起以获得这种结果,这并不难。以下是一些可以探索的途径:
最后一个注释。。。希望这个冗长的答案对这把钥匙有帮助 问题 您的问题(了解定位点位置并在相机移动时放置跟随它们的三维或二维内容)。 但要澄清并警告一些关键 文字 在问题的前面: 当ARKit说检测后它不会跟踪图像时,这意味着它不知道图像何时/是否移动(相对于周围的世界)。ARKit只报告一次图像的位置,因此该位置甚至不会从ARKit如何继续改进对您周围世界和您在其中的位置的估计中受益。例如,如果图像位于墙上,则报告的图像位置/方向可能与墙上的垂直平面检测结果不一致(尤其是随着时间的推移,随着平面估计值的提高)。
这并不意味着你不能在世界空间的位置上放置看起来是“跟踪”静态的内容,也就是在屏幕上移动,随着相机的移动而跟随它。 但这确实意味着,如果您试图做一些依赖于对图像位置进行高精度、实时估计的事情,您的用户体验可能会受到影响。所以,不要试图在你的画周围放置一个虚拟的框架,或者用动画版本来代替这幅画。但是有一个箭头指向的文本标签 粗略地 图像在太空中的位置很好。 |
|
|
2
1
首先,我还没有完全完成您想要做的事情,因此,如果我要实施它,我只会从这里开始 根据您列出的代码,您正在使用Apple的示例代码来识别AR体验中的图像。该项目设置为使用没有标签、按钮或图像的SceneKit。这意味着您需要使用SpriteKit,它具有可以显示标签和图像的节点。 这意味着您的第一步是创建一个全新的项目,并选择内容技术设置为SpriteKit的增强现实模板。
你可以进去看看
要放置项目,请使用SpriteKit版本的
使用Apple的图像识别示例代码,在参考图像的中心添加了新的SceneKit对象,如果图像没有移动,虚拟对象将保持在中心(-ish)。 我们还知道,我们可以获得参考图像的高度和宽度(如您发布的代码所示)。
很有可能我们也可以使用SpriteKit和新放置的
|
|
|
3
0
|
|
|
Ann Fink · Gizmo不再显示在对象上 2 年前 |
|
|
Ayhem · 摄像头打开Unity AR时固定物体 8 年前 |
|
|
Petr Průcha · AR扫描对象大对象(识别) 8 年前 |
|
|
blue · 无法拖动ARKit SCNNode? 8 年前 |
|
|
Syed Saad · OBJ模型加载到不需要的纹理/颜色中 8 年前 |
|
|
user924 · 使用增强现实技术录制视频的最佳方式是什么 8 年前 |