7
votes

Comment détecter la hauteur de l'iPhone (pour une utilisation dans le jeu de réalité augmentée)?

Je travaille sur la localisation d'un appareil iPhone dans l'espace 3D.

Je peux utiliser LA LAT / LIFT pour détecter l'emplacement physique, je peux utiliser le magnétomètre pour déterminer la direction auxquelles elles sont confrontées, et je pourrais peut-être utiliser l'accéléromètre pour comprendre comment leur appareil est orienté, mais je peux 't comprendre un moyen d'obtenir une hauteur de l'appareil sur le sol.

Plus précisément, j'ai besoin de savoir si l'utilisateur s'échappe, ou élever la main vers le plafond (une différence d'environ 2 mètres / 6 pieds).

J'ai posté une description plus détaillée de ce que j'essaie de faire sur mon blog: http: //pushplay.net/blog_detail.php?id=36

J'aimerais que les suggestions sur la façon de simuler ce genre d'informations. Je veux vraiment le genre d'interactivité et de mouvement qui nécessiterait de la queue et de l'emballer, et laissez simplement quelqu'un de s'asseoir et d'incliner le téléphone - genre de la façon dont les gens peuvent "tricher" jouer avec une wii ...


3 commentaires

N'a-t-il pas gps vous donner la taille? Je pensais que c'était (éditer): je veux dire d'altitude ... je pensais que GPS reviendrait des données d'élévation


Je pense que le problème serait de déterminer où se trouve le "plancher". Si l'utilisateur est à Denver, leur sol est d'environ 500 pieds du niveau de la mer!


Vous ne pourrez pas obtenir l'emplacement avec aucune sorte de précision utile. Peut-être que vous pouvez placer quelque chose avec la reconnaissance / suivi des fonctionnalités, mais c'est un problème difficile (TM)


3 Réponses :


7
votes

Le plus proche, je pouvais vous voir arriver à ce que vous recherchez utilise l'accéléromètre / magnétomètre en tant que suivi inertiel. Vous devez étalonner la position initiale de l'utilisateur au démarrage à une position "Base", puis échantillonner continuellement les capteurs sur un fil d'arrière-plan pour construire un modèle de mouvement. Cet article parle d'augmenter la vitesse d'échantillonnage par défaut des fonctions d'accéléromètre afin que vous puissiez Obtenez une belle image graine des mouvements de l'utilisateur.

Je ne suis pas sûr que cela résoudra votre préoccupation concernant les gens simplement incliner le dispositif de produire l'action souhaitée, mais vous devrez trouver un équilibre entre être trop strict dans l'interprétation des mouvements et permettre des différences de mouvement


2 commentaires

C'est là que je suis penché en ce moment, à moins que je puisse trouver une solution meilleure (d'accord, plus facile, plus facile ... :-) Je n'étais pas sûr que cela serait en conflit avec comment je voudrais mesurer l'angle de Le téléphone ... beaucoup de variables à garder une trace de!


ha ha oui je m'entends. Il ne devrait pas entrer en conflit avec vos mesures d'angle depuis que vous mesurez (Delta) X, (Delta) Y et (Delta) Z pour construire votre carte de mouvement. Par exemple, si l'utilisateur doit dessiner un analemme (signe Infinity), la carte est construite à partir de points de comparaison échantillonnés au fil du temps à un point de départ logique et de temps.



0
votes

Je ne connais pas intimement avec l'iPhone. Mais cela pourrait nécessiter un complément matériel. (que vous ne voulez probablement pas faire). Après avoir pensé à cela la seule façon dont je sais comment passe par le laser léger ou plus spécifique. Vous tirez un laser sur le sol et enregistrez le temps nécessaire pour revenir. En fait, ce n'est pas beaucoup pour mettre ce matériel ensemble et je suis sûr que l'iPhone a des connexions pour les périphériques. Sauf si Osmeone ne peut pas l'emporter, je dis qu'il n'y a aucun moyen de le faire avec une image.


0 commentaires

1
votes

Les trucs de corelocation vous donnent une élévation aswell que la Lat / Long, vous pouvez donc potentiellement utiliser cela, bien que cela présente des problèmes importants:

  • ne fonctionnera pas bien à l'intérieur (pas un problème pour Sat Nav, est un problème pour les jeux)
  • Vos utilisateurs devraient "calibrer" (probablement en plaçant le téléphone sur le sol) chaque emplacement qu'ils utilisent!
  • En fait, vous devez commencer à garder une liste des "emplacements précédemment calibrés" ... ce qui pourrait varier énormément dans une maison (par exemple, plusieurs salles et planchers). Pourrait avoir dans la voie du jeu.
  • ne peut pas être utilisé sur le transport mobile (transversaux, avions, automobiles ... même marcher) parce que l'élévation change si fréquemment.

    J'aurais donc pensé que l'utilisation de l'accéléromètre en tant que proxy pour la hauteur est un itinéraire sensiblement plus préférable que de déterminer l'élévation absolue.


0 commentaires