Possiblement Le gyroscope est basé sur la gravité et possède davantage d'attributs physiques. Vous auriez besoin d'une sorte de "point de référence" à utiliser par l'application, comme une source de lumière, mais vous vous heurteriez alors à la technologie de reconnaissance d'image. Je ne suis pas un grand programmeur, mais si je me limitais à une caméra, je demanderais à l'utilisateur de calibrer d'abord l'application ou au moins la pièce dans laquelle il se trouve. Ça donnerait quelque chose comme ça :
Center your head, and keep it as stable and forwards as possible.
Now, look up when prompted on screen.
Now left,
Then right,
And down.
Now rotate your body 180° clockwise, or counter-clockwise.
Room calibration is now complete!
Cependant, le problème que vous rencontrez est que cela diffère si la pièce change ou si l'utilisateur se déplace dans une autre pièce. Une chose de cette ampleur reviendrait à prendre une photo panoramique comme vous l'avez dit, mais en utilisant les images comme référence pour que l'application sache où l'utilisateur regarde. C'est une situation très difficile. Je prendrais également en compte la gamme de qualité dans les caméras mobiles, car cela aura indéfiniment un impact substantiel sur les performances. Je conseille également d'inclure une sorte de clause de non-responsabilité indiquant à l'utilisateur que l'appareil photo de son appareil peut ne pas être à la hauteur, ou de limiter la disponibilité de l'application aux appareils haut de gamme. La meilleure alternative serait probablement un accéléromètre, mais il semble que votre objectif soit une pièce de matériel plus commune. J'espère que cela vous aidera.