Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检测iPhone的高度(用于增强现实游戏)?_Iphone_3d_Augmented Reality - Fatal编程技术网

如何检测iPhone的高度(用于增强现实游戏)?

如何检测iPhone的高度(用于增强现实游戏)?,iphone,3d,augmented-reality,Iphone,3d,Augmented Reality,我正在3D空间中定位iPhone设备 我可以用lat/long来检测物理位置,我可以用磁强计来计算他们面对的方向,我可以用加速计来计算他们的设备是如何定位的,但我无法计算出设备离开地面的高度 具体地说,我需要知道用户是蹲下,还是向天花板举起手(大约2米/6英尺) 我在我的博客上发布了一个关于我要做什么的更详细的描述: 我想知道如何伪造这类信息。我真的想要那种互动和移动,需要的是俯冲和摆动,而不是让某人坐下来,调整手机的角度——人们玩Wii时可以“欺骗”的方式 我能看到的最接近你所寻找的东西是使用

我正在3D空间中定位iPhone设备

我可以用lat/long来检测物理位置,我可以用磁强计来计算他们面对的方向,我可以用加速计来计算他们的设备是如何定位的,但我无法计算出设备离开地面的高度

具体地说,我需要知道用户是蹲下,还是向天花板举起手(大约2米/6英尺)

我在我的博客上发布了一个关于我要做什么的更详细的描述:


我想知道如何伪造这类信息。我真的想要那种互动和移动,需要的是俯冲和摆动,而不是让某人坐下来,调整手机的角度——人们玩Wii时可以“欺骗”的方式

我能看到的最接近你所寻找的东西是使用加速度计/磁强计作为惯性跟踪器。您必须在启动时将用户的初始位置校准为“基本”位置,然后在背景线程上连续采样传感器以构建运动模型。讨论如何提高加速计函数的默认采样率,以便获得用户运动的非常精细的图像


我不确定这是否能解决你的担忧,即人们只是简单地调整设备的角度以产生所需的动作,但你必须在过于严格地解释动作和考虑动作差异之间取得平衡

我对iphone不太熟悉。但它可能需要一个硬件插件。(你可能不想这么做)。经过思考,我知道的唯一方法是通过光或更具体的激光。你在地板上射出一束激光,记录回来所需的时间。实际上,把这些硬件放在一起并不多,我相信iphone可以连接外围设备。除非osmeone能胜过我,否则我认为用图像是无法做到这一点的。

CoreLocation的东西可以提供高度和纬度/长,所以你可以潜在地使用它,尽管这方面存在一些重大问题:

  • 在室内工作不好(对卫星导航来说不是问题,对游戏来说是问题)
  • 您的用户必须“校准”(可能是将手机放在地板上)他们使用的每个位置
  • 事实上,你需要开始保留一个“以前校准过的位置”列表。。。仅仅在一间房子里(如多个房间和楼层)可能会有很大的变化。可能会妨碍比赛
  • 不能用于移动的交通工具(火车、飞机、汽车……甚至步行),因为海拔变化太频繁

因此,我认为使用加速计作为高度的代理比确定绝对高度更可取。

GPS不给你提供高度吗?我想是的(编辑):我是说海拔。。。我以为全球定位系统会返回高程数据,但问题在于确定“楼层”在哪里。如果用户在丹佛,他们的地板离海平面约5200英尺!你将无法获得任何有用的准确位置。也许你可以用特征识别/特征跟踪来装配一些东西,但这是一个困难的问题(tm),这正是我现在学习的地方,除非我能找到更好的(好的,好的,更简单的)解决方案…:-)我也不确定这是否会与我将如何测量手机的角度相冲突……需要跟踪的变量很多!哈哈,我听到了。它不应该与你的角度测量冲突,因为你正在测量(delta)x,(delta)y和(delta)z来构建你的运动地图。例如,如果用户需要绘制一个分析图(无穷符号),则通过将随时间采样的点与逻辑“起点”和时间进行比较来构建映射。