Pitch et roll dans les fichiers STG
4 participants
Page 1 sur 1
Pitch et roll dans les fichiers STG
Bonjour à tous,
Voilà une bonne nouvelle ! le pitch et le roll sont maintenant interprété dans les fichiers STG
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 :
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 :
Voilà ! comme ça Jean-Michel pourra nous mettre des barrières sans fichier XML
Dans la pratique ça se passe comme ça :
Actuellement nos STG c'est ça :
Et avec la nouvelle version on a ça :
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 :
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 :
En clair : le pitch et le roll sont inséparable. Donc soit vous renseignez pitch ET roll soit vous mettez rien.
Amicalement,
Clément
Voilà une bonne nouvelle ! le pitch et le roll sont maintenant interprété dans les fichiers STG
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)));
}
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
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
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
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
Re: Pitch et roll dans les fichiers STG
Sois béni Clément !
Pour le code, je le mets où ? ( sur 2.4 stable )
Allez, y a plus qu'à ....
Amicalement,
Pour le code, je le mets où ? ( sur 2.4 stable )
Allez, y a plus qu'à ....
Amicalement,
JM-26- Contrôleur aérien
- Messages : 1911
Date d'inscription : 04/07/2010
Age : 57
Localisation : Anneyron-26 (LFLR)
Re: Pitch et roll dans les fichiers STG
yo,
c'est interessant, reste plus qu'a ajouter un facteur d'echelle en dernier parametre.
bon ok je sors
HJ.
c'est interessant, reste plus qu'a ajouter un facteur d'echelle en dernier parametre.
bon ok je sors
HJ.
HaraldJ- Petit bleu
- Messages : 4
Date d'inscription : 02/05/2012
Localisation : Alsace
Re: Pitch et roll dans les fichiers STG
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
Re: Pitch et roll dans les fichiers STG
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.
HJ.
HaraldJ- Petit bleu
- Messages : 4
Date d'inscription : 02/05/2012
Localisation : Alsace
Re: Pitch et roll dans les fichiers STG
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
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
Re: Pitch et roll dans les fichiers STG
Clément ? HelpJM-26 a écrit: ...pour le code, je le mets où ? ( sur 2.4 stable )
Amicalement,
JM-26- Contrôleur aérien
- Messages : 1911
Date d'inscription : 04/07/2010
Age : 57
Localisation : Anneyron-26 (LFLR)
Re: Pitch et roll dans les fichiers STG
Oups, excuse moi j'ai zappé ton message
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 )
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 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é )
Amicalement,
Clément
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 )
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 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é )
Amicalement,
Clément
Re: Pitch et roll dans les fichiers STG
Moi oui, et toi ton mal de tête, ça va ? prêt à remettre ça ?F-JJTH a écrit:...Alors motivé pour passer en version GIT ?
Pour ça, je peux livrer une version GIT et une version stable, c'est pas un gros travail.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.
Amicalement,
JM-26- Contrôleur aérien
- Messages : 1911
Date d'inscription : 04/07/2010
Age : 57
Localisation : Anneyron-26 (LFLR)
Re: Pitch et roll dans les fichiers STG
On voit ça demain soir sur Mumble (22/05) si ça te va ?JM-26 a écrit:
Moi oui, et toi ton mal de tête, ça va ? prêt à remettre ça ?
(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 )
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
Amicalement,
Clément
Re: Pitch et roll dans les fichiers STG
A priori, c'est ok pour moi, j'apporte l'aspirineF-JJTH a écrit:On voit ça demain soir sur Mumble (22/05) si ça te va ?
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.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
Amicalement,
JM-26- Contrôleur aérien
- Messages : 1911
Date d'inscription : 04/07/2010
Age : 57
Localisation : Anneyron-26 (LFLR)
Re: Pitch et roll dans les fichiers STG
@Clément
Ce soir je ne peux pas avant 22h30 / 22h45. Ça fait pas trop tard pour toi ?
Amicalement,
Ce soir je ne peux pas avant 22h30 / 22h45. Ça fait pas trop tard pour toi ?
Amicalement,
JM-26- Contrôleur aérien
- Messages : 1911
Date d'inscription : 04/07/2010
Age : 57
Localisation : Anneyron-26 (LFLR)
Re: Pitch et roll dans les fichiers STG
Prévois 2 boites heinJM-26 a écrit:A priori, c'est ok pour moi, j'apporte l'aspirine
Aux alentours de 21h ça te va ?
Re: Pitch et roll dans les fichiers STG
Oups j'avais pas vu ton message de 19h58 :/
Hmmm passe sur Mumble vers 22h30~45 voir si j'y suis
Hmmm passe sur Mumble vers 22h30~45 voir si j'y suis
Sujets similaires
» Ajout d'objet ( pitch and roll )
» Comparer des fichiers
» fg2blender: créer ces fichiers ac3d
» Screen shot
» Il y a des oiseaux dans FG ?
» Comparer des fichiers
» fg2blender: créer ces fichiers ac3d
» Screen shot
» Il y a des oiseaux dans FG ?
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum