Script flightgear

Page 14 sur 17 Précédent  1 ... 8 ... 13, 14, 15, 16, 17  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

Re: Script flightgear

Message  F-JJTH le Ven 15 Mar 2013 - 15:57

_run_ a écrit:
Je ne crois pas que les points soient doublés. J'ai importé le dr400, et "remove double" ne supprime rien.
En effet j'y ai pensé après coup, je n'ai pas testé avec d'autre avions, donc si tu me dis que le dr400 ne renvoi rien lors d'un "remove double" c'est que ça vient du mc202

_run_ a écrit:
Une grosse dose de réflexion est plus que nécessaire.
Mais en même temps il y a pas mal de code "mort" à supprimer. Je crois que dans xml_import il y a beaucoup de fonction d'affichage à enlever, qui m'ont servi au début mais qui ne sont plus nécessaire.
Ok et aussi amélioration du debugage, là dessus j'ai ma petite idée, je m'en occupe, mais je vais peut-être attendre la réorganisation des dossiers


_run_ a écrit:
Il va falloir trouver la configuration du temps dans FG.
Bon là dessus c'est encore le brouillard pour moi Razz je ne comprend toujours pas pourquoi on a besoin d'une référence de temps dans Blender. On a juste besoin que Blender positionne les objets en fonction de 0 ou 1. Après que le passage de 0 à 1 se fasse en 20 secondes ou en 3 secondes... peu importe, l'important c'est que lorsque la propriété vaut 0.675 l'objet soit à 67.5% de son animation (il lui reste donc 32.5% à parcourir avant d'avoir fini l'animation)

_run_ a écrit:
[...]Dans FG, il faut connaître l'endroit où l'on définit le temps que mettra une propriété pour passer de 0 à 1.
Là encore on a pas besoin de ça, d'autant plus que le temps que mettra la propriété pour passer de 0 à 1 c'est pas FG qui le défini c'est le créateur de l'avion. Si je veux que mon train rentre/sorte en 15 secondes, je dirai à la propriété qui gère le train de faire le passage de 0 à 1 en 15 secondes, idem pour les volets, si je veux que les volets sorte/rentre en 3 secondes je n'ai qu'à le dire. Tout ça se passe dans le FDM. Il y a aussi d'autres propriété qui passe de 0 à 1 en un temps donnée (les interpolation de switch par exemple) et là encore c'est moi (l'utilisateur) qui dira "cette propriété passe de 0 à 1 en 0.25 secondes".
Pour prendre un exemple concret et simple :
Je veux que mon train rentre/sorte en 20 secondes, en position "rentré", mon train est à 0°, lorsqu'il est "sorti" il est à 90°.
Dans Blender ça se traduit par : frame 1 = 0° , frame 60 = 90° . À partir de la on peut lancer l'animation dans Blender et on verra bien que notre train s'ouvre/se ferme de 90° entre la frame 1 et la frame 60 (exemple, à la frame 30, le train sera à 45°)
Dans FG ça se traduit par : property = 0 = 0° , property = 1 = 90° . Et on verra que notre train s'ouvre se ferme de 90° entre 0 et 1 (quand la property vaut 0.5, le train sera à 45°)

Voilà dans cette exemple je n'ai pas eu besoin de savoir le temps que mettra quoi que ce soit à bouger, je n'ai pas eu besoin d'évoquer la notion du "temps".
Par contre je pense que le chiffre "60" est mal choisi car il fait référence à une notion de temps, je pense qu'il serait préférable d'utiliser "100" afin d'avoir une notion de "pourcentage". Ainsi l'exmple si dessus deviendrai :
Dans Blender ça se traduit par : frame 1 = 0° , frame 100 = 90° (frame 1 = 0% = 0°, frame 100 = 100% = 90° ) Notre animation se déroule de 0% à 100%, elle commence à 0% et fini à 100%. Quand l'animation est à 100% ça veut dire que l'animation est fini. Dans ce cas lorsque l'animation en est à la moitié soit 50% alors le train sera à 45°
Dans FG ça se traduit par : property = 0 = 0° , property = 1 = 90° (property = 0 = 0% , property = 1 = 100% ) Lorsque l'animation en est à la moitié soit 50% (property = 0.5) le train sera alors à 45°

Avec ce nouveau système de mesure (frame 0 à 100) on ne confronte plus une notion de "temps" (Blender) à une notion "d'accomplissement" en pourcentage (FG). Désormais FG et Blender on le même language : le pourcentage. On se sert alors de la timeline comme d'une barre de pourcentage plutôt qu'une ligne de temps.

Je pense vraiment qu'il faut passer sur du 0 à 100 afin de faire référence à un pourcentage. Un autre exemple, un compteur de vitesse qui affiche de 0 Kt (sur le cadrant le 0 est situé à 7h ) à 240 Kt (sur le cadran 240 est situé à 5h ) : lorsque l'aiguille est à 0 Kt l'animation est à 0% l'aiguille a donc tourné de 0° , lorsque l'aiguille est à 240 Kt l'animation est à 100% l'aiguille à donc tourné de 300° , à 120 Kt l'animation est à 50% l'aiguille a donc tourné de 150°

Qu'en dis-tu ?

Amicalement,
Clément

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  _run_ le Ven 15 Mar 2013 - 16:47

F-JJTH a écrit:
Bon là dessus c'est encore le brouillard pour moi Razz je ne comprend toujours pas pourquoi on a besoin d'une référence de temps dans Blender. On a juste besoin que Blender positionne les objets en fonction de 0 ou 1. Après que le passage de 0 à 1 se fasse en 20 secondes ou en 3 secondes... peu importe, l'important c'est que lorsque la propriété vaut 0.675 l'objet soit à 67.5% de son animation (il lui reste donc 32.5% à parcourir avant d'avoir fini l'animation)

Mais la réponse est dans ton post.
Il y a deux types d'animations.
Celle reliée à un paramètre, position de l'aileron, vitesse de l'avion, altitude, et pleins pleins d'autres. Pas de lien au temps, mais à une postion
Et le deuxième type:
Celle reliée à un déclenchement, volets, switch, train d'atterrissage, ouverture de la verrière. Le paramètre naturel, est le temps. En combien de temps s'ouvrent le train, en combien de temps s'ouvre la verrière.

Un programme calcul le temps écoulé entre chaque frame, et en déduit la variation d'une propriété pour flightgear, la position d'un armature pour blender. Ainsi un ordinateur puissant ou lent, auront la même durée pour une animation.
Lorsque tu parles de pourcentage, c'est déjà un calcul. Mais se cache derrière la seule réalité physique, le temps (pour le deuxième type d'animation). Blender et flightfear, gèrent très bien ce type d'animation. Et c'est au modélisateur à définir le temps de variation de la propriété "gear/gear/pos_norm" par exemple.

Dans quel fichier xml défini-t-on ce paramètre de temps ??

Dans la réalité, le mécanisme du train d'atterrissage est parfois complexe. Les cartes graphiques n' arrête pas d'évoluer, on modélise de plus en plus en se rapprochant de la réalité. Les animations sont de plus en plus détaillé, et un train d'atterrissage mettant 8s à rentrer ou sortir, aura besoin de 8x24 frames.
Mais toutes les animations n'auront pas besoin d'autant de précision. En connaissant, les valeurs temporelles, on en déduit le nombre de frames nécessaire.

Le script est un exporteur de fichier xml, il pourra donc exporter le temps de variation d'une animation.
avatar
_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Script flightgear

Message  _run_ le Ven 15 Mar 2013 - 18:31

Voici un exemple,




J'ai modifié très facilement l'animation du train grâce au script, toutes les valeurs sont correctes, mais, les animations sont codées dans blender de la frame 1 à 60 soit 2,5s. Or dans Flightgear, la propriété varie de 0 à 1 en 5s, et je n'ai pas eu exactement ce que je voulais. En regardant la vidéo, on pourrait croire que non, que tout était voulus. Si script décode correctement ce paramètre temporel, que j'ai fini par trouvé dans jsbsim, il n'y aura pas de distorsion entre blender et flightgear.
avatar
_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Script flightgear

Message  F-JJTH le Ven 15 Mar 2013 - 20:31

_run_ a écrit:
Et le deuxième type:
Celle reliée à un déclenchement, volets, switch, train d'atterrissage, ouverture de la verrière. Le paramètre naturel, est le temps. En combien de temps s'ouvrent le train, en combien de temps s'ouvre la verrière.

À ma connaissance ce type n'existe pas dans FG scratch Les volets, les switchs, train, ouverture de verrière : tous sont relié à un paramètre ce qui fait d'eux des animations du premier type.
Il faut vraiment mettre ça au clair Very Happy J'ai l'impression de ne plus rien comprendre ^^

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  Patten le Ven 15 Mar 2013 - 20:50

F-JJTH a écrit: J'ai l'impression de ne plus rien comprendre ^^

C'est qu'une impression Clément, çà me l'avait fait brièvement à un moment sur ce thread. What a Face tongue pale

Thread passionnant au demeurant un tuto déguisé, merci et courage...

Very Happy


_________________
Ils ont les montres, nous on a le temps...
Pour les textures du terrrain, c'est ICI

Mon hangar en chantier ICI

Oublies ce que tu as donné, souviens toi toujours de ce que tu as reçu...
avatar
Patten
Pilote de chasse

Messages : 3206
Date d'inscription : 16/01/2011
Age : 62

Voir le profil de l'utilisateur http://pattenflightgear.wifeo.com/

Revenir en haut Aller en bas

Re: Script flightgear

Message  F-JJTH le Ven 15 Mar 2013 - 20:53

Pouce en l\'air Christian ! Very Happy

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  _run_ le Ven 15 Mar 2013 - 23:41

Re,

J'ai fait un push sur le git. Je peut être sur mumble ce soir, si tu veux des explications.
J'ai fait la modif sur le script pour tenir compte de ce que j'essaye de t"expliquer. Dans le fichier mc-202jsbsim.xml, il existe une balise
Code:
  <channel name="Landing Gear">
   <kinematic name="Gear Control">
      <input>gear/gear-cmd-norm</input>
      <traverse>
        <setting>
           <position> 0 </position>
           <time>    0 </time>
        </setting>
        <setting>
           <position> 1 </position>
           <time>    5 </time>
        </setting>
      </traverse>
      <output>gear/gear-pos-norm</output>
   </kinematic>
  </channel>

Qui donne a FG, le temps de variation de la propriété gear/gear-pos-norm. Dans ce cas on voie que la propriété passe de 0 à 1 en 5 secondes. C'est ce que je cherchais. De cette manière, les animations blender et flightgear sont synchrones.

J'aimerai savoir quelles sont les propriétés pouvant accepter une contrainte temporelle comme celle-là. Il doit y a avoir la même chose pour les volets et autres ...


En tout cas passer les anims entre 1 et 100 c'est beaucoup mieux, et rendrent synchrones celles qui peuvent l'être , c'est encore mieux.
A++
avatar
_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Script flightgear

Message  F-JJTH le Sam 16 Mar 2013 - 2:24

Je crois que je viens de comprendre !!! (Je comprend vite mais faut m'expliquer longtemps Razz )
Tu veux que ce qui dure 5 secondes dans FG dure 5 secondes dans Blender ? C'est ça ? Par exemple si le train s'ouvre en 20 secondes dans FG, alors dans Blender ça s'ouvrira aussi en 20 secondes ?
Dis moi que c'est ça ! bounce Very Happy

Je suis content que le passage sur 100 frames soit une bonne chose Wink

Je n'ai pas fini mon travail sur le nouveau système de debugage, j'espère que ça ne te pose pas trop de souci. J'essai de rendre le debugage plus "standard" = debug_info() est le même pour tous, pas besoin d'ouvrir 36 fichiers pour activer/désactiver le debugage de chacun, tout est regroupé dans le __init__.py . J'espère que ça te plait Smile

Je bosse demain (samedi) on peut se parler sur mumble/gtalk dimanche si t'es dispo. Ça serait chouette de se faire un point sur les parties non utilisé (10000 lignes de python c'est cool mais pour s'y retrouver ça devient moins cool lol)

Peux-tu me dire si la fonction assign_texture() actuellement commenté dans la class ANIM de xml_manager.py est utilisé quelque part que je n'ai pas vu ? ou on peut la supprimer ?
Même question pour : la class ExportFG situé ligne 240 de __init__.xml

Encore un truc : j'ai commencé à modifier le "anim_type" qui est censé contenir des chiffres représentant le type d'animation. Je trouve ça un peu galère : à chaque fois il faut qu'on se souvienne quel numéro correspond à quel type d'animation ( ex : ligne 121 de xml_manager.py) alors que l'on pourrait simplement utiliser les mots clés "rotate" "spin" "translate". C'est plus "humain" je pense. La nouvelle class ANIM utilise déjà ce nouveau système. Qu'en dis-tu ?


Amicalement,
Clément

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  _run_ le Sam 16 Mar 2013 - 3:49

F-JJTH a écrit:Dis moi que c'est ça ! bounce Very Happy

En prenant, la tangente de l'angle que fait le soleil au moment de l'équinoxe de printemps pendant les années bissextiles. On est pas loin.

Sérieusement, c'est ça !!!

J'aime bien le nouveau système de debug. Je l'ai déja modifier.
Il suffit de mettre en début de fichier
Code:
from . import *
et les variables globales de __init__ sont accessibles.

Pour causer en live, je ne serai pas dispo dans la journée, mais normalement le soir, mais pas sur .... je te tiens au courant.

assign_texture() a été reintégré dans ANIM_SHADER. C'est cette fonction qui assigne la texture de réflexion sur les vitres. Heureusement qu'il y avait git. Pendant la modif de ANIM, beaucoup de fonctions ont disparues, alors qu'elles étaient nécessaires. Mais maintenant c'est bon.
La classe EXPORT_FG peut-être supprimer, elle reviendra peut-être si l'on décide de faire un export global.

Je suis d'accord pour le type, j'ai failli le faire, mais j'étais trop concentré sur autre chose.


Je suis surtout content que tu m'aides a finir ce script, cà remonte le moral.
Merci


A+
avatar
_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Script flightgear

Message  _run_ le Sam 16 Mar 2013 - 15:09

Bonjour tout le monde,

Je suis en train de regarder plusieurs choses, et je m'apperçois qu'il ne faudrait pas mettre les messages d'erreurs dans le système debug_info. Le script détecte des erreurs, ou des incohérences dans les fichiers, et devra les afficher que l'on soit en mode debug ou pas.
Je pense, par exemple, à l'erreur habituelle du codage de caractère dans les fichiers xml (utf8). Il y a plein d'autres cas, dans le dr400, il y a deux références à deux objet qui n'existe pas aussi. Avec la commande unix
Code:
cat `find . -name "*.ac"` | grep chaine_de_caractère
on finit par voir que le message du script n'était pas une erreur du script. Mais une erreur dans les fichiers de l'avion.
Une autre chose à sortir du système, c'est l'avancement du script. Un minimum doit être affiché. Pourquoi pas simplement le nom du fichier en cours de traitement.

Une autre chose à faire, c'est un script python ou bash (je préfére python), uniquement pour les développeurs, pour remplacer tous les debug_info(...) par #debug_info(..), et vis versa, pour vérifier l'impact sur le temps d'exécution du script.

A+
avatar
_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Script flightgear

Message  F-JJTH le Sam 16 Mar 2013 - 18:19

Je passe en coup de vent :
Pour remplacer les debug_info par #debug_info :
find . name "*.py" -exec `sed -i s/debug_info/#debug_info/g`

Attention j'écris ça de tête il peut manquer un truc.

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  _run_ le Lun 18 Mar 2013 - 15:44

Bonjour tout le monde,

Je viens de récupérer tes modifications, et j'ai une question.

Pourquoi la suppression de FG_PT_armature_properties et FG_PT_object_properties ???

Blender utilise la fenêtre "properties" pour afficher les propriétés, des objets, du render, des textures, etc .... et dans la fenêtre 3D deux panneaux "object tools" (touche T) et un autre que l'on pourrais appeler aussi property (Touche N), mais de la visualisation.

Les nouveaux panneau du script, étaient plutôt des propriétés, ce sont des valeurs. "Mesh Name" par exemple, est une valeur, et donc une propriété. La fenêtre "Properties", permet l'édition des propriétés des textures, des armatures, des objects, et donc FG_PT_armature_properties et FG_PT_object_properties étaient bien à leur places.

Il y avait, une seule transgression, l' ensemble des boutons "select", qui eux sont des actions et auraient dû se trouver dans "Object tools" (touche 'T')


Un exemple concret d'organisation dans blender.
Dans la fenêtre "Properties", en sélectionnant le cube, on est dans les propriétés des objets. La première propriété est le vecteur position : Transform>Location
Blender affiche les valeurs x, y, z de position et on peut les modifier à la main. Soit en entrant une valeur ou à la souris en cliquant et glissant.
Mais il y a aussi un outil dans "Object Tools" (touche'T' fenêtre 3D) qui s'appelle "translation", lorsque l'on clique dessus, on fait la modification visuelle de la position de l'objet.

On peut résumer le rôle de chaque fenêtre.
"Properties", c'est l'affichage et l'édition des valeurs, (chaîne de caractère, nombre, etc ....)
'Object tools", c'est les actions

A+
avatar
_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Script flightgear

Message  F-JJTH le Lun 18 Mar 2013 - 16:16

Pourquoi ? Parce que ce n'était que des doublons de ce qui existait déjà dans le panel "object". Du coup on avait les mêmes infos écrite 2 fois à 2 endroits différents, pour l'utilisateur c'est 2 fois plus de chance de ne pas comprendre qui correspond à quoi.
Désormais TOUT est rassemblé à un seul endroit, l'utilisateur n'a plus à se balader entre le menu FG (touche f) , le menu "object" (avec FlightGear Object et FlightGear Animation) et le menu "properties" (ces 2 derniers affichait sensiblement les mêmes choses). Si on y regarde on avait
- menu FlightGear tools (touche f)
- menu "object" > FlightGear Object
- menu "object" > FlightGear Animation
- menu "Tool shelf" > FlightGear Object
- menu "Tool shelf" > FlightGear Animation
- menu "Tool shelf" > Selection (show/show_all)


Moi j'ai simplifier, il ne reste plus que :
- menu FlightGear tools (touche f)
- menu FlightGear (touche t)

L'utilisateur voit toutes les infos concernant FG (armatures, objets, camera, empty, selection) à un seul et même endroit, c'est beaucoup plus simple pour lui.

PS: je viens de voir que j'ai oublié de remettre le show/show_all, je vais le remettre

On essai de se parler ce soir sur Mumble si t'es dispo.

Amicalement,
Clément

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  F-JJTH le Lun 18 Mar 2013 - 16:41

Voilà un exemple, tout est accessible depuis le menu de gauche (touche t), c'est quand même mieux que d'avoir des trucs à gauche, au milieu, à droite




_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  _run_ le Lun 18 Mar 2013 - 16:49

F-JJTH a écrit:On essai de se parler ce soir sur Mumble si t'es dispo.


Pas de problème pour ce soir 21H, mais prépare tes arguments, lol (amicalement bien-sûr)
Blender est un outil fantastique, 'amazing' comme dirait les anglois, C'est blender qui rend la manipulation des armatures intuitive, pas le script. C'est encore blender qui à des outils très performants, pour les keyframes, le script ne fait que la passerelle entre blender et flightgear. Il n'est pas bons de transformer la philosophie de blender, qui est déjà assez compliqué à utiliser. A terme on va se couper des milliers de tutoriels sur blender.

Je vais insister beaucoup la dessus. Chaque chose à sa place. Et les goûts et les couleurs sont trop subjectifs, pour mériter un débat.

A ce soir
A+
avatar
_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Script flightgear

Message  _run_ le Mar 19 Mar 2013 - 17:46

Bonjour tout le monde ,

Clément finalement la " montagne a accouchée d'une souris", ce n'était pas si terrible que ça. Reprendre méthodiquement les lignes from . import.
Certains fichier n'avait pas d'import. Il doit forcement rester des erreurs, qui apparaîtrons au fur et à mesure.
Je propose d'utiliser la branche "flyer", pour l'instant, puis dans 1 semaine ou 2 la merger dans master.

Si tu rencontre des messages d'erreur, voilà ce qu'il faut faire.

Lorsque le fichier se trouve dans un répertoire enfant :
Je suis sur un fichier de la racine, par exemple fg2bl.py
J'importe les fonctions du fichier ./meshes/ac3d/ac_manager.py
Code:
form .meshes.ac3d import ac_manager


Deuxième cas , remonter dans l'arborescence .
Je suis sur le fichier ./xml/xml_manager.py et j'ai besoin de ac_import
Code:

from ..meshes.ac3d import ac_manager


Donc "." est le répertoire courant. ".." le répertoire parent,. "..." le répertoire parent du parent, etc..
La séparation des répertoire est le symbole "." pour les enfants.
Vraiment ce langage me surprend agréablement, simple et sans ambiguité

Et pour finir les __init__.py sont vides, mais bien sûr il peuvent contenir du code exécuté au chargement du script, au tout début de blender.
avatar
_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Script flightgear

Message  F-JJTH le Mar 19 Mar 2013 - 19:51

Bien reçu ! Je regarde ça

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  F-JJTH le Mar 19 Mar 2013 - 23:47

J'ai fait les modifs nécessaire pour les Empty et les Camera, du coup la branch flyer est autant fonctionnel que la branch master. On va sans doute pouvoir merger avant 2 semaines Smile

Le script va bon train ! Qu'as-tu de prévu pour la suite ? Qu'est-ce qui te semble important de voir ?

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  F-JJTH le Mer 20 Mar 2013 - 4:26

Bon j'ai commencé à travailler un petit peu sur du concret (l'AS355N) et les premiers "feedback" sont là :
1) Il faut réactiver l'export "FlightGear (.ac)" dans File > Export Very Happy
2) Il faut revoir l'import ou l'export AC3D (je ne sais pas lequel des deux pose souci) car j'ai constaté ceci : j'importe l'AS355N, je fais un "remove double" sur un objet en particulier, je fais un export ac via "notre" script, fichier est créer sans soucis, je ferme blender, je ré-ouvre blender, j'importe le fichier que je viens tout juste de créer avec FlightGear import (.ac) je fais un remove double sur l'objet don't j'avais déjà fais un remove double ==> des vertices sont à nouveau supprimé Sad
3) Il faut revoir l'action du bouton "Write file" pour l'export AC car j'ai constaté ceci ( mais ça peut être une erreur de ma part) : j'importe l'AS355N, je créer les animations, je sélectionne un objet, je modifie le champs "ac file" de cet objet (as355n.ac devient montruc.ac) , du coup à ce moment là j'ai des centaines d'objet qui on "ac_file" = as355n.ac et 1 seul et unique objet qui a "ac_file" = montruc.ac. Je clic alors sur "Write ac", le fichier montruc.ac est créer c'est super, j'importe montruc.ac ==> il contient TOUS les objets qui était dans as355n.ac alors qu'il devrait ne contenir qu'un seul et unique objet (le seul qui a un "ac_file" = montruc.ac) : certainement une simple boucle a modifier.

Avant de me lancer des des modifs du script je voudrais que tu me confirme que tu constate bien les même soucis que je rapporte en 2) et 3)
Pour le point 1) : suffit-il de remettre la class "ExportFG" supprimé il y a seulement quelques jours ? ou y'avait-il d'autres choses ailleurs ?

Amicalement,
Clément

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  _run_ le Mer 20 Mar 2013 - 13:40

Bonjour,

Le script essaye de gérer plusieurs fichiers .ac en même temps, pour l'instant c'est complètement bancale. Lors de l'import d'un avion complet, le script se débrouille bien , mais reconstituer ce morcellement à la main est trop compliquer pour l'instant. C'est faisable, mais par moi uniquement, car je connais la structure du script..

Voilà ce qu'il se passe:

Les fichiers d'objet 3D, les .ac, sont associés à un groupe blender. Il faut impérativement créer un groupe de même nom que le fichier .ac, pour utiliser "write file". C'est pour cela que l'export .ac avait été créer pour enregistrer uniquement la sélection.

Il faut regarder comment utiliser cela de manière plus simple.
La fonction ac_export.write_ac_file() à besoin comme argument la liste des objets à exporter.
Cette liste est fabriqué dans l'opérateur associé au bouton "write file" classe ops_filghtgear.FG_OT_save_ac_file

Write file ne poserait pas de problème, si :
Lors le l'affection du fichier .ac à des objets, il faut vérifier l'existence du groupe. Si il n'existe pas , on le créer. Ce n'est pas le cas pour l'instant. Pour ça, il faut modifier la fonction props_meshes.update_ac_file(). Lors de la création de la propriété fg.ac_file, blender est averti qu'il faut appeler cette fonction lorsque l'on modifie le champs .ac file à la main ( ligne props_meshes : 78 )

Avec ça tu devrais pouvoir faire la modif.

De mon côté je vais regarder les problèmes de doublons.

A+
avatar
_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Script flightgear

Message  F-JJTH le Mer 20 Mar 2013 - 13:51

_run_ a écrit:Les fichiers d'objet 3D, les .ac, sont associés à un groupe blender. Il faut impérativement créer un groupe de même nom que le fichier .ac, pour utiliser "write file". C'est pour cela que l'export .ac avait été créer pour enregistrer uniquement la sélection.

Ah mais oui !! J'avais oublié Mad

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  _run_ le Mer 20 Mar 2013 - 15:45

A propos de notre discussion sur les format 3D et de nos essais. J'ai fait des test sur l'export de blender en "obj" et en "collada". Osg peut lire les fichiers obj, mais pas les fichiers collada en natif. Sur le site de openscenegraph, j'ai trouvé ça :
"The OSG Collada plugin depends "
A vue de nez, la lecture des fichiers collada dépend d'un plugin. Ce dernier n'est pas compilé dans la compilation de fg. Je présume ?!?.
Lorsque je fais le test avec osgviewer sur un simple cube exporté en collada par blender, osgviewer me renvoi :
Warning: Could not find plugin to read objects from file "/home/rene/programmes/opengl/blender/paf/Aircraft/mc202-test/Models/mc202.dae".

Donc le format collada est à "oublier". Il n'y aura pas beaucoup de personnes qui auront le plugin.
avatar
_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Script flightgear

Message  F-JJTH le Jeu 21 Mar 2013 - 4:39

Il y a eu une discussion sur IRC concernant le support du format OBJ mais pour le moment les personnes en ayant discuté n'ont pas le temps de s'occuper de ça... affaire à suivre.
Que penses-tu de merger la branch flyer dans la branch master ? ça me parait assez stable pour se le permettre.

J'ai remarqué quelques trucs par-ci par-là tu penses pouvoir être dispo ce soir (jeudi soir) pour une p'tite réunion Very Happy ?

Amicalement,
Clément

_________________
Premier vol solo : 12/06/2012
Visitez le Hangar de la PAF
Mon Hangar : http://clemaez.fr/flightgear = Script pour terragear-cs + apt850

Le seul moment où vous avez trop de carburant est quand l'ULM est en feu. (Issue du manuel du pilote ULM )
avatar
F-JJTH
Pilote de Ligne

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

Voir le profil de l'utilisateur http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Re: Script flightgear

Message  Patten le Jeu 21 Mar 2013 - 12:50

Dommage que FG ne prenne pas le format collada (dae), celà nous ouvrirait une bonne partie de la banque de données de Skretchup.

Les convertir en .ac demande presque autant de boulot que de les créer.

http://sketchup.google.com/3dwarehouse/?hl=fr

Very Happy

_________________
Ils ont les montres, nous on a le temps...
Pour les textures du terrrain, c'est ICI

Mon hangar en chantier ICI

Oublies ce que tu as donné, souviens toi toujours de ce que tu as reçu...
avatar
Patten
Pilote de chasse

Messages : 3206
Date d'inscription : 16/01/2011
Age : 62

Voir le profil de l'utilisateur http://pattenflightgear.wifeo.com/

Revenir en haut Aller en bas

Re: Script flightgear

Message  _run_ le Jeu 21 Mar 2013 - 14:12

Bonjour tout le monde,

J'ai passé ma journée d'hier à exporter le mc202 en obj, de lire beaucoup de doc sur ce format, et de regarder les sources de OpenSceneGraph et l'export de blender, car j'avais des problèmes avec les matériaux.
Le script ne donne pas cette impression, mais le format ac, impose de configurer la gestion des matériaux de blender, d'une certaine manière. Mais le format obj oblige aussi à configurer blender d'une autre manière. Evidement c'est loin d'être les mêmes.

On en parle ce soir, tout le monde peut venir ce soir sur mumble ce n'est pas une réunion secrète. Si le script est utilisé pour as355n, alors je vous recommande de venir et de poser toutes les questions qu'il faut.

A+
avatar
_run_
Le baron rouge

Messages : 433
Date d'inscription : 10/06/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Script flightgear

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 14 sur 17 Précédent  1 ... 8 ... 13, 14, 15, 16, 17  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

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