iPhone 中的增强现实技术可以展示 3D 模型。

3
我正在开发一个应用程序,用户可以使用iPhone相机和以下AR工具包库基于坐标“收集”宝藏。

https://github.com/nielswh/iPhone-AR-Toolkit

在演示项目中,您可以看到像伦敦、巴黎等城市与坐标相连接的内容。
我想要添加一些与坐标相关联的宝藏,当用户接近宝藏时,比如说20米以内,用户应该能够以3D格式看到宝藏。
因此,如果用户要收集微波炉并且距离小于20米,微波炉应该出现在摄像头上作为叠加层。然后,一个名为“收集宝藏”的按钮应该作为叠加层出现在摄像头上,然后就可以收集宝藏了。
不一定需要是3D对象,只需要图片即可。
我想知道,这是否可能?

编辑 #1

我已经尝试过Wikitude(不支持iPhone的3D模型),Junaio(支持3D模型但无法创建独立应用程序)和Layar(与Junaio相同)。

有人知道其他支持在屏幕上添加3D模型并可以成为App Store独立应用程序的AR工具包吗?


编辑 #2

我刚刚注意到Layar实际上通过他们的Layar Player SDK支持独立应用程序。他们还支持3D模型,我很快就会尝试看看这是否有效。


编辑 #3

添加3D模型非常顺利!但是Layar Player SDK不允许我们自定义界面,这对我们来说是一个巨大的问题...我现在正在寻找另一个AR浏览器/工具包/API,在此线程中:

增强现实中的寻宝游戏


StackExchange提案:http://area51.stackexchange.com/proposals/30436/augmented-reality - Stéphane Péchard
2个回答

1

是的,这是可能的。创建AR应用程序本身需要一些高中数学(atan),使用Quartz进行一些2D旋转,以及一些诡计,例如对来自加速度计的信号进行低通滤波以避免颤动。将经纬度作为笛卡尔坐标而不是球面三角测量进行工作,额外的精度不值得。您可以在覆盖层上接收触摸,使用2D旋转进行虚假3D,或呈现opengl覆盖层。


我现在尝试了iPhone上的Wikitude示例项目。它运行良好,但我想知道如何将3D对象添加到特定位置。我正在研究这个问题... - Fernando Redondo
获取自己和目标的经纬度,将其想象成从您的位置到物体位置的直角三角形,计算atan以获得角度,与指南针的角度进行比较,计算欧几里得距离,缩放物体,如果您指向物体+-相机视野的一半,则绘制它。一个问题:位置精度取决于AGPS,可能准确或偏离数百米。这是您无法克服的限制。请参见Apple的GLGravity示例,并将其叠加在UIImagePickerController上。 - Jano
嗨Jano。谢谢你的信息,但这对我来说太高级了。我想也许一些增强现实API已经内置了这个功能。不过我还没有看到任何人使用过。 - Fernando Redondo

0

是的,这是可能的。但如果您使用该框架,则需要做很多工作。您可以尝试Layar,它已经拥有了Layar播放器,可以将其用作在应用程序中包含YouTube视频,但在AR范例中。 Layar本地提供接近触发器和3D对象,而无需进行任何开发工作! 我建议您试一试。


嗨,Ruben。如果我使用Layar,我还能将其作为我的应用程序放在应用商店中使用吗?看起来你必须在iPhone的Layer应用程序内部使用你的应用程序? - Fernando Redondo
看起来我需要创建一个返回所有POI的Web服务。我更感兴趣的是iPhone工具包/API,这样一切都在iPhone应用程序中发生。 - Fernando Redondo
首先,您可以使用Layar Player在您的专有应用程序中免费使用其AR技术。然后,要添加您的POI,您可以像Hoppala这样的服务一样使用自己的服务器,但是您可以通过这些服务创建它们。如果您希望您的POI是本地和静态的,则没有选择:iPhone-AR-kit(或可能是Wikitude)。 - Ruben Marin
我现在已经尝试了iPhone上的Wikitude示例项目。它运行得很好,但我想知道如何将3D对象添加到特定位置。我正在进行研究... - Fernando Redondo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接