Créer une boussole réelle

Toutes les questions sur le développement Mobile, y compris la partie script.
Zephyr64
Messages : 16
Inscription : 04 Juin 2018 08:46

Créer une boussole réelle

Message par Zephyr64 » 17 Juil 2018 09:59

Bonjour,

J'essaye d'utiliser Unity pour créer une application qui se base sur le nord. Le but étant de faire une application de réalité augmentée, avec le nord permettant de situer le téléphone (direction de vue) dans l'univers crée sur le logiciel. J'ai donc suivi les explications fournis pas le site pour écrire le script suivant :

Code : Tout sélectionner

public class boussole : MonoBehaviour 
{

//Choix de la caméra pour imposer l'angle de vue (qui correspond à l'appareil photo du tel)
    public GameObject Camera;
//Affecter le text UI créer dans la scene 
    public Text TextNord;

//lance l'initialisation pour trouver le nord
    void Start () {
    Input.compass.enabled = true;
    Input.location.Start();
    }


    void Update () {
//impose à la camera l'orientation dans la scene
         Camera.transform.Rotate(0, Input.compass.trueHeading, 0);

//affiche la valeur du nord mesurée par le compass du téléphone
        int XXX = (int)Input.compass.trueHeading;
        TextNord.text = XXX.ToString();
    }
}
 ! Message de : boubouk50
Balises CODE svp
Le problème, c'est que si j'utilise le trueHeading ou le magneticHeading, la valeur prise par le nord fluctue toujours entre 190 et 200, quel que soit l'orientation de mon téléphone.
Savez-vous quelle est l'erreur que je fais?
Merci :)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Créer une boussole réelle

Message par boubouk50 » 17 Juil 2018 10:15

D'après la documentation (https://docs.unity3d.com/2017.1/Documen ... ading.html), ces 2 variables renvoient l'angle entre le haut de ton mobile et le Nord (magnétique ou non).
Déjà, suis plutôt l'exemple donné pour affecter la rotation de la caméra. Ensuite, il faut surement que ton mobile soit horizontal. Enfin, as-tu un AndroidManifest.xml qui te permette l'utilisation du GPS? (ça te l'a demandé?)

Code : Tout sélectionner

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Zephyr64
Messages : 16
Inscription : 04 Juin 2018 08:46

Re: Créer une boussole réelle

Message par Zephyr64 » 17 Juil 2018 10:46

J'ai fais la mise à jour du script selon l'exemple. Il n'y a cependant pas de différence avec avant. Pour le manifest, il me demande bien l'autorisation d'utiliser les données GPS au début.

Zephyr64
Messages : 16
Inscription : 04 Juin 2018 08:46

Re: Créer une boussole réelle

Message par Zephyr64 » 17 Juil 2018 11:02

Par contre, j'ai essayé de tourner le téléphone dans tous les sens, et il y en a bien un qui va de 0 à 360. C'est quand je tourne de haut en bas au lieu de gauche à droite.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Créer une boussole réelle

Message par boubouk50 » 17 Juil 2018 11:11

Il y a pas mal de posts sur la mauvaise qualité du retour boussole sur le net.
Certains parlent du mode Portrait qui met a défaut le retour.
D'autres une mauvaise initialisation de départ. Il faut laisser le temps que la géolocalisation se fasse en premier (quelques secondes).
En tout cas, ça n'a pas l'air encore bien fiable.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Zephyr64
Messages : 16
Inscription : 04 Juin 2018 08:46

Re: Créer une boussole réelle

Message par Zephyr64 » 17 Juil 2018 11:33

Effectivement, le passage de portrait à paysage me fait gagner/perdre 180 degrés. Le truc que je trouves bizarre, c'est que quand j'utilise une application boussole, tout marche très bien.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Créer une boussole réelle

Message par boubouk50 » 17 Juil 2018 12:14

Oui, parce qu'elles sont surement programmées en Java (natif Android).
Tu peux forcer le mode Landscape pendant l'utilisation de la boussole, si ça aide à son bon fonctionnement.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Zephyr64
Messages : 16
Inscription : 04 Juin 2018 08:46

Re: Créer une boussole réelle

Message par Zephyr64 » 17 Juil 2018 12:27

Je vais essayé de le programmer en javascript alors pour voir ce que ça donne.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Créer une boussole réelle

Message par boubouk50 » 17 Juil 2018 12:35

Java pas javascript.
Ça n'a rien a voir. Et l'encapsuler en C# reviendra surement à faire la même chose qu'Unity mais en pire.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Zephyr64
Messages : 16
Inscription : 04 Juin 2018 08:46

Re: Créer une boussole réelle

Message par Zephyr64 » 17 Juil 2018 13:49

D'accord. Donc je n'ai aucun moyen, en passant par Unity d'améliorer cette précision? (sauf si je place un point et que je calcule manuellement la position du nord)

Répondre

Revenir vers « Développement plateformes mobile Iphone et Android »