ARCore + 定位服务
Posted
技术标签:
【中文标题】ARCore + 定位服务【英文标题】:ARCore + Location Services 【发布时间】:2018-03-30 06:24:53 【问题描述】:我想知道是否有任何选项可以将现有的 ARCore 早期阶段与 Google 位置相结合,以便将 AR 对象放置在现实世界中的 lat/lng 上?我知道使用 ARKit 可以实现这一点,但没有通过 ARCore 找到任何相关信息。
有什么想法吗?提前致谢。
【问题讨论】:
您能否为您的问题添加更多详细信息? 使用 Anchor 类,它会自己处理 您是否发现了更多相关信息?我正在尝试做类似的事情,但到目前为止还没有运气。我的理解是,我需要使用Pose
对象调用session.createAnchor()
,而该对象又是使用用户当前位置和对象的纬度/经度之间的平移/旋转信息创建的。
@JohnO'Reilly 你找到解决办法了吗?
@IshRoid 你找到解决办法了吗?
【参考方案1】:
最近出现的一个选项是:https://www.appoly.co.uk/arcore-location/
它允许您在 GPS 位置渲染对象。目前它提供了两个示例渲染器 - 注释或 2D 图像 - 但是您可以根据显示 3D 模型的示例代码实现自己的自定义渲染器。
值得注意的是,这是基于 android SDK 而不是 Unity 等。
【讨论】:
值得一试!非常感谢您的发现。 标记为已接受的答案。这个至少作为起点工作得很好! @Array 那么进展如何?您是否与 3d 对象一起成功实现了它? @HaiderSaleem 这是很久以前的事了。我当时实现了它,但到目前为止无法提供解决方案:(【参考方案2】:我认为这不是 0/1 类型的问题 :)
首先,ARCore 是 SDK,仅用于映射周围环境。它没有计算机视觉和/或定位能力。
您的请求是可能的,但您必须结合两个元素。首先,您需要使用位置 (GPS) 并计算所选位置 lat/lng 在您的视图中。这个很简单,你可以找到很多关于它的教程。
当您确定该点在哪里时(您还可以计算有助于此处的方位),您可以使用 ARCore 将 3D 模型固定到世界。可能您必须进行某种转换才能将现实世界坐标更改为您的屏幕
让答案更简单:ARCore 本身无法做到这一点,但结合不同的工具可以让您实现这一目标
【讨论】:
感谢您的回复。我已经有很多地方的纬度/经度,但无法将模型固定到该位置,因此它可以通过 ARCore 东西(带有照明、VIO 等)可见。你会这么好心,告诉我一些允许将 ARCore 3D 模型指向世界坐标的教程吗?我已经使用纯 OpenGL 完成了类似的操作,但没有使用 ARCore。 你还找不到它们。 ARCore还是新鲜的,大部分需要自己搞清楚的东西可以在Adnroid上搜索OpenGL相关的这个话题。在这两种情况下,背后的数学是相同的,不同之处在于如何获取正确的对象和值,但 ARCore 提供了很多与矩阵相关的东西,例如 请告诉我如果有人知道如何在 ArCore 中实现它,标记不稳定。我搜索了很多,但除了appoly.co.uk/arcore-location 之外什么也没得到。但这也不稳定。如果您找到 Geolocationservice + ArCore 的任何解决方案,请告诉我。【参考方案3】:我看到了这个,并在想这会是多么棒。所以试着想想 Pokemon Go 是怎么做的。
我的建议是:
通过 GPS 跟踪用户位置,当它进入正确的 lat/lng(不要使用一点,而是使用无线电/区域)时,您使用用户作为 0,0(原点)发送对象/锚点的位置)。所以不会是完美的,但这是一个开始。
是的,可能,看看World Around Me App
【讨论】:
【参考方案4】:我也在创建类似的应用程序。就我而言,我想以特定的经度和纬度显示视频,我使用地理围栏实现了它。我选择一个特定的点并将其周围的半径设置为大约 20m。当我进入半径时,我的应用开始在该区域显示视频。
【讨论】:
【参考方案5】:我用的是mapbox,加上arcore,你只需要做“魔法”(在附近位置时,过渡到ar core场景,并把GO放在大概位置) 我使用了玩家的位置和方向,而不是在玩家面前的脚下布置关卡,并向地面投射光线,只有当光线真正击中飞机(被跟踪的飞机)时才会产生,确保它的在履带飞机上
【讨论】:
以上是关于ARCore + 定位服务的主要内容,如果未能解决你的问题,请参考以下文章