AR 对象不应随 AR 相机 Vuforia Unity3d 移动

Posted

技术标签:

【中文标题】AR 对象不应随 AR 相机 Vuforia Unity3d 移动【英文标题】:AR Object Should not move with AR Camera Vuforia Unity3d 【发布时间】:2015-02-24 10:52:50 【问题描述】:

我正在开发 Vuforia SDK,因为我在 AR 相机视图中有一个 3d 模型。

但是当我移动我的设备时,3d 模型也会随着那个 AR 相机视图移动。我希望 3d 模型在我拖动或移动它之前不会改变它的世界位置。

如何使 AR 对象独立于 AR 相机视图?

如果有人有想法,请帮助我。而且我不想使用任何目标。我想在世界上漂浮我的对象。

编辑:

到目前为止,我已经尝试添加第二个具有相同位置和视野的普通相机。

然后将图层添加到该 AR 对象并将该图层设置为普通相机的剔除蒙版。 AR 相机看不到那个物体。然后对象也随着相机视图移动。

谢谢。

【问题讨论】:

【参考方案1】:

我想我可能有办法解决这个问题。 假设您正在使用某种目标,请选择您的 ARCamera,然后查看检查器面板。

在 QCARBehaviour 下,您会看到 世界中心模式

将该值更改为特定目标(不应是相机)

希望这会有所帮助。

【讨论】:

我已经尝试过您的建议,但它也不起作用。 您有图像目标或任何目标吗?您是否正确完成了初始步骤?因为如果它在特定目标上,那么它可能没有找到目标并因此被推送到相机视图。 其实我知道没有图像目标是不可能的。但我想在世界上漂浮物体。 Vuforia 不支持此功能。所以我放弃了这个功能,否则我需要更改相机行为脚本。 感谢您的精彩回复。 哦!是的,Smart Terrain 和扩展跟踪也可以做到这一点。参考这个链接给你一个想法:developer.vuforia.com/library//articles/Training/…【参考方案2】:

有两种解决方案可以实现您想要的输出。但是...非常 IMP:您尝试做的不是增强现实,它只是 3D 渲染,您可以在不使用 vuforia 的情况下做同样的事情 标记也是。你可以只使用图像处理(OpenCV)


解决方案 1: 在场景中选择 ARCamera,并将 World Center Mode(在 Inspector 中)设置为 CAMERA(而不是 FIRST_TARGET) [同时你的孩子不能是 ImageTarget 的孩子]


解决方案 2: 在运行时检查 ImageTargets TrackableBehaviour,然后获取它的 Transform 组件,并在 World Coordinates 中从该 Transform 中提取位置和方向(即使用 Transform.position 和 Transform.旋转):

然后,您可以通过从 Trackable 派生对象来设置对象的位置和方向(您必须为此编写自定义脚本)。


但从任何角度来看,它都不是 AR,因为它看起来有点像这样。 https://youtu.be/iHhMCdh3k7U 正确的解决方案是: 1 - 选择您放置在场景中的 ImageTarget。

2 - 在 Inspector 中,转到 Script 组件 Image Target Behavior 并激活属性:Enable Extended Tracking

祝你好运!

【讨论】:

以上是关于AR 对象不应随 AR 相机 Vuforia Unity3d 移动的主要内容,如果未能解决你的问题,请参考以下文章

Unity中利用Vuforia制作AR同时令3D模型出现在2D图片前

Unity Vuforia(高通)AR

AR入门系列-在vuforia官网的使用-01-史上最详细AR入门教程

如何用Unity 和Vuforia 创建一款AR应用

Vuforia_AR

Vuforia_AR