La patrouille de france Flightgear
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

Pitch et roll dans les fichiers STG

4 participants

Aller en bas

Pitch et roll dans les fichiers STG Empty Pitch et roll dans les fichiers STG

Message  F-JJTH Lun 21 Mai 2012 - 0:37

Bonjour à tous,

Voilà une bonne nouvelle ! le pitch et le roll sont maintenant interprété dans les fichiers STG Very Happy
J'ai réussi à coder ça en C++ en 1 journée et 1 nuit avec le peu de connaissance que j'ai en C++. 1 journée et 1 nuit juste pour ça :
Code:

                while ( (in.peek() != '\n') && (in.peek() != '\r') &&
                        (in.peek() != '-')  && isspace(in.peek()) ) {
                  in.get();
                }

                if (isdigit(in.peek()) || (in.peek() == '-')){
                    double pitch(0.0), roll(0.0);
                    in >> pitch >> roll;

                    matrix.preMultRotate(osg::Quat(SGMiscd::deg2rad(pitch),
                                                  osg::Vec3(0, 1, 0)));
                    matrix.preMultRotate(osg::Quat(SGMiscd::deg2rad(roll),
                                                  osg::Vec3(1, 0, 0)));
                }

Very Happy

J'ai eu aussi l'aide de Anders Gidenstam qui a commité le code sur GIT, ça sera donc disponible pour la version 2.8.0 qui sortira en Août.
Il y a aussi une modif qui va arrivé d'ici peu dans l'UFO. Pour les impatient le git diff est celui-ci :
Code:

    diff --git a/Aircraft/ufo/ufo.nas b/Aircraft/ufo/ufo.nas
    index 6aa56e5..b8cf027 100644
    --- a/Aircraft/ufo/ufo.nas
    +++ b/Aircraft/ufo/ufo.nas
    @@ -375,6 +375,8 @@ var Model = {
                    var lon = node.getNode("longitude-deg").getValue();
                    var elev = node.getNode("elevation-ft").getValue();
                    var hdg = node.getNode("heading-deg").getValue();
    +              var pitch = node.getNode("pitch-deg").getValue();
    +              var roll = node.getNode("roll-deg").getValue();
                    var legend = node.getNode("legend").getValue();
                    var type = nil;
                    var spec = "";
    @@ -396,7 +398,7 @@ var Model = {
                    var stg_hdg = normdeg(360 - hdg);
                    var stg_path = geo.tile_path(lat, lon);
                    var abs_path = getprop("/sim/fg-root") ~ "/" ~ path;
    -              var obj_line = sprintf("%s %s %.8f %.8f %.4f %.1f", type, spec, lon, lat, elev_m, stg_hdg);
    +              var obj_line = sprintf("%s %s %.8f %.8f %.4f %.1f %.1f -%.1f", type, spec, lon, lat, elev_m, stg_hdg, pitch, roll);
   
                    node.getNode("absolute-path", 1).setValue(abs_path);
                    node.getNode("legend", 1).setValue(legend);
    @@ -718,7 +720,7 @@ var print_model_data = func(prop) {
            printf("Altitude ASL: %.4f m (%.4f ft)", elev * FT2M, elev);
            printf("Heading:      %.1f deg", prop.getNode("heading-deg").getValue());
            printf("Pitch:        %.1f deg", prop.getNode("pitch-deg").getValue());
    -      printf("Roll:        %.1f deg", prop.getNode("roll-deg").getValue());
    +      printf("Roll:        -%.1f deg", prop.getNode("roll-deg").getValue());
    }

Voilà ! comme ça Jean-Michel pourra nous mettre des barrières sans fichier XML Very Happy

Dans la pratique ça se passe comme ça :
Actuellement nos STG c'est ça :
Code:

OBJECT_SHARED Models/Aircraft/320austrian-ba.ac 5.08301338 44.02674280 116.7378 0.0
on a donc le TYPE, PATH, LONGITUDE, LATITUDE, ALTITUDE, HEADING
Et avec la nouvelle version on a ça :
Code:

OBJECT_SHARED Models/Aircraft/320austrian-ba.ac 5.08301338 44.02674280 116.7378 0.0 15.0 -30.0
on a donc le TYPE, PATH, LONGITUDE, LATITUDE, ALTITUDE, HEADING, PITCH, ROLL

Bien entendu vous n'êtes pas obligé de renseigner le pitch et le roll, les deux lignes suivante font la même chose par exemple :
Code:

OBJECT_SHARED Models/Aircraft/320austrian-ba.ac 5.08301338 44.02674280 116.7378 0.0 0.0 0.0
OBJECT_SHARED Models/Aircraft/320austrian-ba.ac 5.08301338 44.02674280 116.7378 0.0

Comme vous le voyez si on ne mets pas de valeur, le pitch et le roll valent 0 (comme c'est le cas actuellement en faite)
Par contre si vous décidez de mettre un pitch mais pas de roll il vous faudra renseigner le roll :
Code:

OBJECT_SHARED Models/Aircraft/320austrian-ba.ac 5.08301338 44.02674280 116.7378 0.0 18.0 0.0

En clair : le pitch et le roll sont inséparable. Donc soit vous renseignez pitch ET roll soit vous mettez rien.

Amicalement,
Clément
F-JJTH
F-JJTH
Pilote de Ligne

Messages : 2010
Date d'inscription : 19/01/2011
Age : 35
Localisation : Carpentras - LFNH

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  JM-26 Lun 21 Mai 2012 - 7:40

Sois béni Clément ! bounce

Pour le code, je le mets où ? ( sur 2.4 stable )
Allez, y a plus qu'à ....

Amicalement,
JM-26
JM-26
Contrôleur aérien

Messages : 1911
Date d'inscription : 04/07/2010
Age : 57
Localisation : Anneyron-26 (LFLR)

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  HaraldJ Lun 21 Mai 2012 - 9:32

yo,

c'est interessant, reste plus qu'a ajouter un facteur d'echelle en dernier parametre.

bon ok je sors cat

HJ.

HaraldJ
Petit bleu

Messages : 4
Date d'inscription : 02/05/2012
Localisation : Alsace

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  cbz-026 Lun 21 Mai 2012 - 10:55

Ce qui serait peut-être intéressant d'ajouter est une distance au delà de laquelle l'objet n'est plus visible.



Dernière édition par cbz-026 le Lun 21 Mai 2012 - 11:55, édité 1 fois
cbz-026
cbz-026
Pilote de jet

Messages : 785
Date d'inscription : 05/03/2009
Age : 55
Localisation : Neuchâtel - Suisse

http://ingels.me

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  HaraldJ Lun 21 Mai 2012 - 11:19

Je pense que le lod est plus un propriete de l'objet parce que cela depend de la complexite de l'objet et non de l'endroit ou est placé cet objet. En plus je pense que cela n'a pas d'importance pour les objets simple, mais si l'objet est plus complexe il y aura surement un .xml associé (ne serait ce que pour gerer le changement de texture entre jour et nuit).

HJ.



HaraldJ
Petit bleu

Messages : 4
Date d'inscription : 02/05/2012
Localisation : Alsace

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  F-JJTH Lun 21 Mai 2012 - 12:21

Le rôle du STG est le positionnement de l'objet.
Concernant le LOD et l'échelle ce n'est plus du ressort du STG mais du XML.

Concernant le LOD, OSG contient un manager déjà très puissant qui calcule le LOD automatiquement. Cela dit rien ne vous empêche d'utiliser le LOD si vous modélisez un truc vraiment très détaillé (genre les marches d'un escalier, les barreau d'un garde corps....)

Amicalement,
Clément
F-JJTH
F-JJTH
Pilote de Ligne

Messages : 2010
Date d'inscription : 19/01/2011
Age : 35
Localisation : Carpentras - LFNH

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  JM-26 Lun 21 Mai 2012 - 12:28

JM-26 a écrit: ...pour le code, je le mets où ? ( sur 2.4 stable )
Clément ? Help Very Happy

Amicalement,
JM-26
JM-26
Contrôleur aérien

Messages : 1911
Date d'inscription : 04/07/2010
Age : 57
Localisation : Anneyron-26 (LFLR)

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  F-JJTH Lun 21 Mai 2012 - 12:59

Oups, excuse moi j'ai zappé ton message pirat

La mauvaise nouvelle c'est que tu ne peux pas t'en servir avec la 2.4.0, il faut attendre la version 2.8.0 qui sortira en Août. Si tu ne peux vraiment pas t'en passer, il va te falloir passer sur la version GIT, c'est à dire compiler FG toi-même sous MacOS (c'est faisable Wink )
Aussi, si tu diffuse un fichier STG qui contient le pitch et roll dès demain par exemple, et bien il n'y a que les gens qui utilise la version GIT qui pourront utiliser ton fichier car la fonctionnalité n'existe pas en 2.4.0 et 2.6.0, et ça va même plus loin : quelqu'un qui lit un fichier STG "nouvelle génération" (avec pitch et roll) avec une version 2.6.0 et inférieur : FG va planter !

Donc si tu passe sous GIT, que tu utilise cette fonctionnalité du pitch et roll, il n'y aura que.... 3 ou 4 personnes qui pourront lire le fichier.
Le problème sera sensiblement le même à partir d'Août pour ceux qui ne se mettent pas à jour. La version 2.8.0 devrait sortir le 17 Août, si tu commence à diffuser un STG nouvelle génération dès le 18 Août je suis pas sûr que tous le monde aura eu le temps de mettre à jour sont FG. Et je te parle pas des réfractaire aux mises à jours où même ceux qui ne peuvent tout simplement pas mettre à jour car le PC n'est pas assez puissant.

Bref, si tu tiens y tiens vraiment c'est possible Wink mais inexploitable tant que les gens n'utilise pas la version 2.8.0 qui sortira en Aôut ou GIT.
Alors motivé pour passer en version GIT ? (faudrait voir si ton MacOS le supporte :/ Ah et le jour où tu changes de Mac, parle-moi en je saurai te conseillé Wink )

Amicalement,
Clément
F-JJTH
F-JJTH
Pilote de Ligne

Messages : 2010
Date d'inscription : 19/01/2011
Age : 35
Localisation : Carpentras - LFNH

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  JM-26 Lun 21 Mai 2012 - 13:09

F-JJTH a écrit:...Alors motivé pour passer en version GIT ?
Moi oui, et toi ton mal de tête, ça va ? prêt à remettre ça ? clown

F-JJTH a écrit:Donc si tu passe sous GIT, que tu utilise cette fonctionnalité du pitch et roll, il n'y aura que.... 3 ou 4 personnes qui pourront lire le fichier.
Le problème sera sensiblement le même à partir d'Août pour ceux qui ne se mettent pas à jour. La version 2.8.0 devrait sortir le 17 Août, si tu commence à diffuser un STG nouvelle génération dès le 18 Août je suis pas sûr que tous le monde aura eu le temps de mettre à jour sont FG. Et je te parle pas des réfractaire aux mises à jours où même ceux qui ne peuvent tout simplement pas mettre à jour car le PC n'est pas assez puissant.
Pour ça, je peux livrer une version GIT et une version stable, c'est pas un gros travail.

Amicalement,
JM-26
JM-26
Contrôleur aérien

Messages : 1911
Date d'inscription : 04/07/2010
Age : 57
Localisation : Anneyron-26 (LFLR)

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  F-JJTH Lun 21 Mai 2012 - 13:17

JM-26 a écrit:
Moi oui, et toi ton mal de tête, ça va ? prêt à remettre ça ? clown
On voit ça demain soir sur Mumble (22/05) si ça te va ?
(Si il y a des amateurs qui veulent passer en version GIT c'est l'occasion de passer nous voir sur Mumble pour suivre le cours Wink )

Fournir 2 versions... chaud chaud... rien que sur le dépôt de la PAF à part faire un branche "stable" et une branche "git". Mais là je suis pas encore au niveau Suspect

Amicalement,
Clément
F-JJTH
F-JJTH
Pilote de Ligne

Messages : 2010
Date d'inscription : 19/01/2011
Age : 35
Localisation : Carpentras - LFNH

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  JM-26 Lun 21 Mai 2012 - 13:42

F-JJTH a écrit:On voit ça demain soir sur Mumble (22/05) si ça te va ?
A priori, c'est ok pour moi, j'apporte l'aspirine Razz

F-JJTH a écrit:Fournir 2 versions... chaud chaud... rien que sur le dépôt de la PAF à part faire un branche "stable" et une branche "git". Mais là je suis pas encore au niveau Suspect
C'est vrai que pour le dépôt de la PAF, c'est compliqué. Du coup je pourrai par exemple pusher la version stable et mettre un lien pour la version GIT.

Amicalement,
JM-26
JM-26
Contrôleur aérien

Messages : 1911
Date d'inscription : 04/07/2010
Age : 57
Localisation : Anneyron-26 (LFLR)

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  JM-26 Mar 22 Mai 2012 - 20:58

@Clément
Ce soir je ne peux pas avant 22h30 / 22h45. Ça fait pas trop tard pour toi ?

Amicalement,
JM-26
JM-26
Contrôleur aérien

Messages : 1911
Date d'inscription : 04/07/2010
Age : 57
Localisation : Anneyron-26 (LFLR)

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  F-JJTH Mar 22 Mai 2012 - 21:05

JM-26 a écrit:A priori, c'est ok pour moi, j'apporte l'aspirine Razz
Prévois 2 boites hein Very Happy

Aux alentours de 21h ça te va ?
F-JJTH
F-JJTH
Pilote de Ligne

Messages : 2010
Date d'inscription : 19/01/2011
Age : 35
Localisation : Carpentras - LFNH

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  F-JJTH Mar 22 Mai 2012 - 22:23

Oups j'avais pas vu ton message de 19h58 :/

Hmmm passe sur Mumble vers 22h30~45 voir si j'y suis Wink
F-JJTH
F-JJTH
Pilote de Ligne

Messages : 2010
Date d'inscription : 19/01/2011
Age : 35
Localisation : Carpentras - LFNH

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Pitch et roll dans les fichiers STG Empty Re: Pitch et roll dans les fichiers STG

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum