Script flightgear
+4
Guillaume
Patten
HaraldJ
Alexis
8 participants
Page 11 sur 17
Page 11 sur 17 • 1 ... 7 ... 10, 11, 12 ... 17
Re: Script flightgear
Dans le FDM du Cap10, aux lignes 69 et 85 tu as ceci_run_ a écrit:J'aimerais savoir comment faire varier la vitesse du train d'atterrissage. Actuellement j'ai mis les animations du train sur la propriété "controls/gear/gear-down" mais l'animation passe instantanément de la position ouvert à fermer.
- Code:
<retractable>0</retractable>
- Code:
<retractable>1</retractable>
- 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> 10 </time>
</setting>
</traverse>
<output>gear/gear-pos-norm</output>
</kinematic>
</channel>
La propriété qui déclenche l'animation est fdm/jsbsim/gear/gear-cmd-norm, la touche "g" fait passer cette propriété à 0 (train rentré) et "ctrl+g" la fait passer à 1 (train sorti)
Ensuite la propriété fdm/jsbsim/gear/gear-pos-norm va varié de 0 à 1 (ou inversement selon si on sort/rentre le train) en 10 secondes pour modifier le temps de l'animation il suffit de modifier la valeur de <time>
Dans le FDM du Cap10, à partir de la ligne 53 tu as les définitions de contacts, il suffit de modifier les coordonnées x, y et z (Blender est ton ami )_run_ a écrit:Pour faire ces tests j'ai utiliser le modèle de vol du cap10, et j'aimerai changer la position de départ pour que les roues touchent correctement le sol ?
- Code:
<!-- ********** CONTACTS ***********-->
<ground_reactions>
<contact type="BOGEY" name="LEFT_MAIN">
<location unit="M">
<x> -0.452 </x>
<y> -0.984 </y>
<z> -1.145 </z>
</location>
<static_friction> 0.80 </static_friction>
<dynamic_friction> 0.50 </dynamic_friction>
<rolling_friction> 0.02 </rolling_friction>
<spring_coeff unit="N/M"> 28000.00 </spring_coeff>
<damping_coeff unit="N/M/SEC"> 5000.00 </damping_coeff>
<max_steer unit="DEG">4.00</max_steer>
<brake_group>LEFT</brake_group>
<retractable>0</retractable>
</contact>
<contact type="BOGEY" name="RIGHT_MAIN">
<location unit="M">
<x> -0.452 </x>
<y> 0.984 </y>
<z> -1.145 </z>
</location>
<static_friction> 0.80 </static_friction>
<dynamic_friction> 0.50 </dynamic_friction>
<rolling_friction> 0.02 </rolling_friction>
<spring_coeff unit="N/M"> 28000.00 </spring_coeff>
<damping_coeff unit="N/M/SEC"> 5000.00 </damping_coeff>
<max_steer unit="DEG">4.00</max_steer>
<brake_group>RIGHT</brake_group>
<retractable>0</retractable>
</contact>
<contact type="BOGEY" name="TAIL">
<location unit="M">
<x> 3.8908 </x>
<y> 0.000 </y>
<z> -0.4632 </z>
</location>
<static_friction> 0.80 </static_friction>
<dynamic_friction> 0.50 </dynamic_friction>
<rolling_friction> 0.02 </rolling_friction>
<spring_coeff unit="N/M"> 22000.00 </spring_coeff>
<damping_coeff unit="N/M/SEC"> 3500.00 </damping_coeff>
<max_steer unit="DEG"> 360.00 </max_steer>
<brake_group>NONE</brake_group>
<retractable>0</retractable>
</contact>
Dans le fichier XML qui correspond au fichier AC il faut ajouter ceci :_run_ a écrit:Comment aussi dire à fg qu'un objet est transparent ?
- Code:
<effect>
<inherits-from>Effects/model-transparent</inherits-from>
<object-name>Light</object-name> <!-- Adapter ici le nom de l'objet -->
<condition>
<property>sim/rendering/rembrandt/enabled</property>
</condition>
</effect>
Re: Script flightgear
Merci pour toute ces explications.
En regardant le dc3 j'avais modifié le fichier xml comme tu proposes, mais de souvenir, j'avais mis la propriété gear/gear/position-norm sur l'armature. Cela m'avait paru curieux. Je pensais qu'il fallait utiliser la propriété "output" donc "gear/gear-pos-norm". Mais cela n'avait pas fonctionné. En décortiquant le xml du dc-3, je suis tomber sur gear/gear[0]/position-norm
Je n'ai pas compris pourquoi cette propriété changeait de nom.
Cela m'a tout de suite fait penser à des options supplémentaire pour le script. Mais on verra plus tard.
Je n'avais pas touché à <retractable>0</retractable> et le train pouvait se fermer l'avion posé au sol. Les FDM gèrent-ils cela ou faut-il faire un nasal ??
La propriété qui déclenche l'animation est fdm/jsbsim/gear/gear-cmd-norm, la touche "g" fait passer cette propriété à 0 (train rentré) et "ctrl+g" la fait passer à 1 (train sorti)
Ensuite la propriété fdm/jsbsim/gear/gear-pos-norm va varié de 0 à 1 (ou inversement selon si on sort/rentre le train) en 10 secondes pour modifier le temps de l'animation il suffit de modifier la valeur de <time>
En regardant le dc3 j'avais modifié le fichier xml comme tu proposes, mais de souvenir, j'avais mis la propriété gear/gear/position-norm sur l'armature. Cela m'avait paru curieux. Je pensais qu'il fallait utiliser la propriété "output" donc "gear/gear-pos-norm". Mais cela n'avait pas fonctionné. En décortiquant le xml du dc-3, je suis tomber sur gear/gear[0]/position-norm
Je n'ai pas compris pourquoi cette propriété changeait de nom.
Cela m'a tout de suite fait penser à des options supplémentaire pour le script. Mais on verra plus tard.
Je n'avais pas touché à <retractable>0</retractable> et le train pouvait se fermer l'avion posé au sol. Les FDM gèrent-ils cela ou faut-il faire un nasal ??
_run_- Le baron rouge
- Messages : 433
Date d'inscription : 10/06/2011
Re: Script flightgear
Le nom des propriétés n'est pas vraiment important. On pourrait très bien mettre <output>salade/tomate-oignon</output>
On se retrouverai avec une propriété qui se nomme "tomate-oignon" dans la branche "salade". Il suffit ensuite que l'animation soit à l'écoute de cette propriété pour que l'animation se déroule. Donc il n'est pas rare de voir des avions avec des noms de propriété différent, c'est chaque personne qui choisi si il veut utiliser le nom générique recommandé par FG (gear/gear-pos-norm) ou bien d'utiliser sa propre propriété.
Pour le DC-3 je suis allé beaucoup plus loin car j'ai complètement réécrit le système qui permet d'actionner le train d'atterrissage. Vu que le train est hydraulique je voulais que les actions par défaut de FG (qui permettent de rentrer/sortir le train quand bon nous semble) soit neutralisé pour coller à la réalité.
Si tu veux que le train ne puisse pas être manœuvré lorsque l'appareil est au sol (on peut imaginer que le poids de l'appareil soit trop important pour que les vérins hydraulique actionnent le train) Dans ce cas il faut effectivement du Nasal. Mais je te le fais sans soucis
Je n'ai pas encore eu le temps de tester en profondeur les mises concernant l'export AC, je te tiens au courant.
Amicalement,
Clément
On se retrouverai avec une propriété qui se nomme "tomate-oignon" dans la branche "salade". Il suffit ensuite que l'animation soit à l'écoute de cette propriété pour que l'animation se déroule. Donc il n'est pas rare de voir des avions avec des noms de propriété différent, c'est chaque personne qui choisi si il veut utiliser le nom générique recommandé par FG (gear/gear-pos-norm) ou bien d'utiliser sa propre propriété.
Pour le DC-3 je suis allé beaucoup plus loin car j'ai complètement réécrit le système qui permet d'actionner le train d'atterrissage. Vu que le train est hydraulique je voulais que les actions par défaut de FG (qui permettent de rentrer/sortir le train quand bon nous semble) soit neutralisé pour coller à la réalité.
Si tu veux que le train ne puisse pas être manœuvré lorsque l'appareil est au sol (on peut imaginer que le poids de l'appareil soit trop important pour que les vérins hydraulique actionnent le train) Dans ce cas il faut effectivement du Nasal. Mais je te le fais sans soucis
Je n'ai pas encore eu le temps de tester en profondeur les mises concernant l'export AC, je te tiens au courant.
Amicalement,
Clément
Re: Script flightgear
F-JJTH a écrit:Je n'ai pas encore eu le temps de tester en profondeur les mises concernant l'export AC, je te tiens au courant.
Ce n'est qu'un premier jet, il y aura beaucoup de cas où il faura faire des rectifications. Ce week-end je ne suis pas chez moi , et je ne pourrais pas faire de push. Mais je continue à travailler dessus.
En faites je re-travaille sur l'export pour éviter de modifier les origines "blender" du maillage. Mais je pense de plus en plus que j'ai fait fausse route. Lorsque je parle d'origine je fait référence au menu "Object>Transform>Origin to Geometry" et son inverse. Ce qui me gêne le plus c'est que les liens de parenté, les droites en pointillé, ne sont pas "jolie", ou plutôt pollu l'affichage. Alors qu'en modifiant ces origines, l'affichage devient "élégant".
Mais je n'est aucune idée des conséquences pour les utilisateurs de AC3D. Il faudrait que je prenne contact avec eux sur le forum flightgear.org.
Je vais reprendre contact avec Paolo Matricardi pour lui demander l'autorisation d'utiliser ses avions. Le fw190 est de lui. Et il ne m'a pas encore répondu. Nous sommes en periode de vacances aussi.
A+
Amicalement René
_run_- Le baron rouge
- Messages : 433
Date d'inscription : 10/06/2011
Re: Script flightgear
Bonjour,
j'ai pas eu beaucoup de temps à consacrer à Fg ces derniers jours!
J'ai exporté mon animation en xml, exporté le modèle en ac, intégré tout ça dans le dossier CAP10
Je vois mon embiellage dans Fg, la valeur de la prop varie mais rien ne bouge
pas d'erreur dans la console
Bon, on verra demain
Amicalement.
PS La nuit porte conseil
ça fonctionne, il y avait une erreur de nom de prop.
j'ai pas eu beaucoup de temps à consacrer à Fg ces derniers jours!
J'ai exporté mon animation en xml, exporté le modèle en ac, intégré tout ça dans le dossier CAP10
Je vois mon embiellage dans Fg, la valeur de la prop varie mais rien ne bouge
pas d'erreur dans la console
Bon, on verra demain
Amicalement.
PS La nuit porte conseil
ça fonctionne, il y avait une erreur de nom de prop.
F-Sig- Pilote d'hélico
- Messages : 993
Date d'inscription : 21/09/2010
Age : 77
Localisation : LFIM - LFBT
Re: Script flightgear
Bonjour tout le monde,
Toujours dans un soucis d'utilisation de blender pour flightgear, je viens d'exporter des données de position vers jsbsim. Ce sont des données du genre, centre de gravité, centre de poussé, position du train, etc . J'ai même utilisé blender pour calculer les surfaces portantes.
Mais j'utilise les données du cap 10, et les effets du couple moteur sont désastreux.
Je ne sais pas dans quelle mesure cela pourrait être utile.
Toujours dans un soucis d'utilisation de blender pour flightgear, je viens d'exporter des données de position vers jsbsim. Ce sont des données du genre, centre de gravité, centre de poussé, position du train, etc . J'ai même utilisé blender pour calculer les surfaces portantes.
Mais j'utilise les données du cap 10, et les effets du couple moteur sont désastreux.
Je ne sais pas dans quelle mesure cela pourrait être utile.
_run_- Le baron rouge
- Messages : 433
Date d'inscription : 10/06/2011
Re: Script flightgear
Salut René,
C'est génial ce que tu fais ! Chaque jour tu m'impressionne !
Justement hier soir j'aurai bien eu besoin d'un tel script... en effet j'ai créer 21 points de contact pour le cap10b, le tout à la main en copiant des blocs d'XML et en modifiant les coordonnées 3D pour chacun d'eux, ça m'a pris une plombe !!!
Donc si je comprend bien tu as écris un interpréteur Blender de FDM jsbSim ? C'est bien ça ?
Aussi je me suis pas mal égaré depuis quelques jours avec le script. Je n'ai pas réussi à suivre tous les ajouts que tu as fait récemment, je veux surtout parler des options que tu as ajouté dans le "FlightGear Tools Menu". Beaucoup de nouveaux items sont apparu en peu de temps et je n'ai pas réussi à tout assimiler. Pourrais-tu expliquer brièvement ce que font chaque items ?
Voici un commencement :
FlightGear Tools Menu
Unwrap 4 faces
En tout cas super boulot ! Cette semaine je n'ai pas eu beaucoup de temps pour ce projet mais je n'abandonne pas ! loin de là
Amicalement,
Clément
C'est génial ce que tu fais ! Chaque jour tu m'impressionne !
Justement hier soir j'aurai bien eu besoin d'un tel script... en effet j'ai créer 21 points de contact pour le cap10b, le tout à la main en copiant des blocs d'XML et en modifiant les coordonnées 3D pour chacun d'eux, ça m'a pris une plombe !!!
Donc si je comprend bien tu as écris un interpréteur Blender de FDM jsbSim ? C'est bien ça ?
Aussi je me suis pas mal égaré depuis quelques jours avec le script. Je n'ai pas réussi à suivre tous les ajouts que tu as fait récemment, je veux surtout parler des options que tu as ajouté dans le "FlightGear Tools Menu". Beaucoup de nouveaux items sont apparu en peu de temps et je n'ai pas réussi à tout assimiler. Pourrais-tu expliquer brièvement ce que font chaque items ?
Voici un commencement :
FlightGear Tools Menu
- Insert keyframe rotate = permet d'ajouter une keyframe pour les animations de type "rotate". Pour l'utiliser il faut sélectionner une armature créer avec l'item "Armatures>Create Rotation"
- Insert keyframe rotate = permet d'ajouter une keyframe pour les animations de type "rotate". Pour l'utiliser il faut sélectionner une armature créer avec l'item "Armatures>Create Translate"
- Import (.xml) = permet d'importer un fichier d'animation XML
- Creation animations = permet de créer la visualisation des animations (à utiliser après avoir importé un fichier XML)
- Edge Split = permet d'appliquer un "modifier" de type edge-split sur l'ensemble des objets sélectionné
- Select property = ???
- Time x2 = Augmente la vitesse de visualisation des animations par 2 (à utiliser après avoir créer la visualisation des animations)
- Time x0.5 = Diminue la vitesse de visualisation des animations par 2 (à utiliser après avoir créer la visualisation des animations)
- Copy blender name to ac name = ???
- Copy ac file (active->selects) = ???
- Armatures
- Create rotation =
- Create translate =
- Transform to rotate =
- Transform to translate =
- Select property =
- Copy xml file (active->selects) =
- Copy property (active->selects) =
- Reset rotate =
- Init rotate =
- Save keyframe and reset =
- Restore keyframe =
- Save parent and reset =
- Restore parent =
En tout cas super boulot ! Cette semaine je n'ai pas eu beaucoup de temps pour ce projet mais je n'abandonne pas ! loin de là
Amicalement,
Clément
Re: Script flightgear
F-JJTH a écrit:FlightGear Tools Menu
- Select property = ???
Permet de selectionner un ensemble d'objet et d'armature lié à l'objet actif. Par exemple pour sélectionner un train d'atterrisage (armature+mesh) on selectionne une partie. Puis Select Property sélectionne l'ensemble. Puis avec CTRL+I (inversion selection) et H(hide cache). On voit finalement que le train d'atterrissage. Cela peut être très utile lorsque l'animation est caché par d'autre maillage
F-JJTH a écrit:Copy blender name to ac name = ??? Copy ac file (active->selects) = ???
Recopie le nom blender dans l'onglet flightgear "ac name" un objet maillage (mesh). Lorsque l'on importe un avion ce champ est déjà rempli, mais lorsque l'on créé un objet ce champ est vide. Lorsque l'on fait de la modelisation on est très concentré sur le maillage et pas forcement sur le script. Cela permet de faire cette recopie en bloc sur une sélection.
Création des animations en limitant les possibilités de blender. Et pou eviter des erreursF-JJTH a écrit:Armatures
Create rotation = Create translate =
Par exemple , pour incorporer le fw190. J'avais un maillage blender, et des animations, mais ces dernières n'etaient pas créées par la script. Il a fallu les initialiser.F-JJTH a écrit:Transform to rotate = Transform to translate =
Sélection uniquement sur les armatures. Sélectionne toutes les armatures avec une même property flightgearF-JJTH a écrit:Select property =
Toujours pour le fw190, des recopies en bloc de propriétésF-JJTH a écrit:Copy xml file (active->selects) = Copy property (active->selects) =
Remet à zero une animation. Des fois les animations d'autres objets gênent le travail sur un objet.F-JJTH a écrit:Reset rotate = Init rotate =
En faites, je pense que l'on peut supprimer cela. Car la suite est plus intéressante.
Save : Sauvegarde une(s) animation(s) et la reinitialise à zero (plus de translation, ou plus de rotation)F-JJTH a écrit:Save keyframe and reset = Restore keyframe =
On travaille sur une autre partie. Puis on restaure le ou les animations sauvegardée
F-JJTH a écrit:Save parent and reset = Restore parent =
Un peu la même chose mais avec les parentés
F-JJTH a écrit:Unwrap 4 faces
Pour le dépliage 4 faces. Voir le post précédent.
Pour le jsbsim, j'ai utilisé un "patron" un fichier xml de base(celui du cap10).
Pour chaque point j'ai utilisé un objet 'empty'
Le nom de l'objet empty permet de définir de quel point il s'agit.
Mais on pourrais faire quelque chose de mieux. On pourrait créer des propriétés supplementaire de blender pour avoir un truc comme ça.
bpy.data.objects['Empty'].data.fg.prop_jsbsim = 'CG'
bpy.data.objects['Empty'].data.fg.prop_jsbsim = 'LEFT_GEAR'
Puis ensuite un export du fichier jsbim.xml
_run_- Le baron rouge
- Messages : 433
Date d'inscription : 10/06/2011
Re: Script flightgear
Bonjour tout le monde,
J'ai modifié l'export des fichiers ac, pour tenir compte du centre de gravité. Si le centre de gravité est défini dans blender (partie jsbsim, objet 'empty'), alors toutes les coordonnées sont déplacées. Clément m'a fait remarqué que flightgear faisait les rotations de l'avion en fonction du centre défini dans les fichiers ac. Ce qui est une erreur grossière. Car le centre de gravité est défini dans jsbsim et je pense dans yasim aussi (enfin de l'espère). Avec le script, si le centre de gravité est défini, alors toutes les coordonnées changent de point zéro. C'est un changement irréversible, l'import et l'export n'auront pas le même centre, lors de la première création.
Sinon j'ai rajouté la gestion des cameras pour pouvoir créer des vues sur l'avion. La position de l'oeil sera la position de la camera. Son orientation sera l'orientation de la camera. Ainsi que son champs de vision.
Exemple :
A+
P.S. Sur le git les modifications se sont pas encore "pushé". Je rectifie le choix du fichier xml, et je push
@Alexis.
Je viens de m'apercevoir que je n'ai pas tenu compte des chemins windows. Pourras-tu faire des tests, et me prévenir s'il te plait ?
J'ai modifié l'export des fichiers ac, pour tenir compte du centre de gravité. Si le centre de gravité est défini dans blender (partie jsbsim, objet 'empty'), alors toutes les coordonnées sont déplacées. Clément m'a fait remarqué que flightgear faisait les rotations de l'avion en fonction du centre défini dans les fichiers ac. Ce qui est une erreur grossière. Car le centre de gravité est défini dans jsbsim et je pense dans yasim aussi (enfin de l'espère). Avec le script, si le centre de gravité est défini, alors toutes les coordonnées changent de point zéro. C'est un changement irréversible, l'import et l'export n'auront pas le même centre, lors de la première création.
Sinon j'ai rajouté la gestion des cameras pour pouvoir créer des vues sur l'avion. La position de l'oeil sera la position de la camera. Son orientation sera l'orientation de la camera. Ainsi que son champs de vision.
Exemple :
A+
P.S. Sur le git les modifications se sont pas encore "pushé". Je rectifie le choix du fichier xml, et je push
@Alexis.
Je viens de m'apercevoir que je n'ai pas tenu compte des chemins windows. Pourras-tu faire des tests, et me prévenir s'il te plait ?
_run_- Le baron rouge
- Messages : 433
Date d'inscription : 10/06/2011
Re: Script flightgear
C'est énorme !! Franchement c'est génial ! Je n'ai malheureusement pas beaucoup de temps en ce moment. J'espère que tu ne te sens pas trop seul. Dès que j'ai à nouveau du temps je saute sur l'occasion pour continuer mon espèce de tuto.
Amicalement,
Clément
Amicalement,
Clément
Re: Script flightgear
F-JJTH a écrit:J'espère que tu ne te sens pas trop seul. Dès que j'ai à nouveau du temps je saute sur l'occasion pour continuer mon espèce de tuto.
Pas de problème Clément, mais le tuto sera indispensable. Cela peut attendre car il faut éviter de trop refaire de chose en cas de gros changement. Mais surtout, il faudra faire un tuto en anglais aussi, pour la publication sur flightgear.org. Je ne touche pas à la partie text osg, que tu as commencé à implémenter. Il faudra faire la partie export. Mais ne t'inquiète pas, lorsque tu auras besoin de mon aide (pour les coordonnées) je serai là. La grosse partie sera la fabrication du xml, je te la laisse. Lorsque tu seras près, fait moi signe. Un indice, il faudra créer de nouvelles propriétés blender, spécifique au text ... on en reparlera.
A+
_run_- Le baron rouge
- Messages : 433
Date d'inscription : 10/06/2011
Re: Script flightgear
Salut René,
Je rencontre un petit soucis :
J'importe le fichier "panel.xml" du Cap10B avec l'option récursive. Du coup je me retrouve avec l'intégralité du tableau de bord du Cap10B comprenant tous les instruments etc etc. C'est le pied ! Je crée les animations dans la foulé comme ça s'est fait Tout va super.
Et puis je me rend compte qu'il y a un défaut sur l'altimètre, je vais donc dans l'outliner, je sélectionne le groupe nommé "altimeter.ac" et je presse la touche "/". Je viens donc d'isoler l'altimètre afin de travailler dessus paisiblement (c'est tellement simple qu'on va pas s'en priver )
Donc je trifouille la 3D de l'altimètre et maintenant que j'ai fini de trifouiller la 3D je voudrais enregistrer les modifications que j'ai apporter à cet altimètre. Je me rend donc dans le panneau "FlightGear" de l'onglet "object", je vérifie que le groupe "altimètre.ac" est bien sélectionner dans l'outliner afin d'être certain d'exporter TOUS les objects qui le constitue (vitre, aiguille, face....) et là je clic sur "Save ac file". Voilà c'est fait.
Et vu que je suis curieux je fais une petite vérification car j'ai un doute : le fichier altimeter.ac possède donc plusieurs objets dont le centre de rotation de l'aiguille est tout simplement situé au centre de Blender. Oui mais vu qu'on a importé et déplacé l'instrument alors il n'est plus du tout au centre de Blender, donc lorsque je clic sur "Save ac file" je prie à genoux pour que le script se souvienne que l'instrument a été déplacé et donc qu'il doit le remettre au centre de Blender juste avant de l'exporter. Malheureusement cela n'arrive pas
Pour prendre un exemple concret : lorsque je charge le tableau de bord complet du Cap10B l'altimètre est situé 10cm sur la gauche du centre de Blender, lorsque j'exporte ça avec "Save ac file" les objets sont donc enregistré 10cm sur la gauche du centre de Blender. Du coup lorsque je réimporte la tableau de bord tout entier la fois d'après, l'altimètre est maintenant à 20cm à gauche du centre de Blender, et là fois d'après il sera à 40cm etc etc ... bon je pense que tu as compris ce qui se passe
As-tu un moyen d'éviter cela ? La solution serait de dire <<juste avant l'export, je supprime les offsets afin de placer l'objet au centre de Blender, je fais l'export, puis je remet les offsets afin que l'utilisateur n'y voit que du feu !>>
Concernant la lecture des fichier JSBSim j'ai vu que tu prenais en compte la valeur de "name" pour différencier les différents trains d'atterrissage. Hors la valeur de "name" est choisi par l'utilisateur. Dans le cas du Cap10B c'est "LEFT_MAIN" mais l'utilisateur aurait très bien pu mettre "TRAIN_GAUCHE" du coup ta condition :
Il en est de même pour les <type> "STRUCTURE". Du coup celà simplifierai beaucoup le script, au lieu d'avoir une fonction qui extrait le train gauche, puis une fonction pour le train droit, puis pour la roue folle, puis pour l'aile gauche puis l'aile droite... etc etc etc Et bien tu as juste à créer une fonction pour les <type> = BOGEY et <type> = STRUCTURE.
Voilà j'espère que ça va t'aider
PS: je vais attendre avant de continuer le tuto car avec tout les changements et nouvelles fonctionnalité mon début de tuto est obsolète (et c'est très bien )
Le script est vraiment intéressant car il devient de plus en plus complet ! Je n'aurai jamais pensé qu'on puisse aller jusque là. C'est vraiment chouette.
Pour info, sur le forum US, un membre s'est lancé dans l'adaptation du script de Malchior qui permettait de visualiser un FDM YaSim pour Blender 2.6x et il ça a aussi commencé à parler de JSBSim... Pour YaSim il pourrait être intéressant de voir avec lui si il ne veux pas ajouter son travail à notre script et aussi lui dire que pour jsbSim c'est déjà fait ou alors attendre sans rien dire et voir si ça aboutit et si c'est mieux pourquoi pas s'en inspirer pour améliorer le notre.
Amicalement,
Clément
Je rencontre un petit soucis :
J'importe le fichier "panel.xml" du Cap10B avec l'option récursive. Du coup je me retrouve avec l'intégralité du tableau de bord du Cap10B comprenant tous les instruments etc etc. C'est le pied ! Je crée les animations dans la foulé comme ça s'est fait Tout va super.
Et puis je me rend compte qu'il y a un défaut sur l'altimètre, je vais donc dans l'outliner, je sélectionne le groupe nommé "altimeter.ac" et je presse la touche "/". Je viens donc d'isoler l'altimètre afin de travailler dessus paisiblement (c'est tellement simple qu'on va pas s'en priver )
Donc je trifouille la 3D de l'altimètre et maintenant que j'ai fini de trifouiller la 3D je voudrais enregistrer les modifications que j'ai apporter à cet altimètre. Je me rend donc dans le panneau "FlightGear" de l'onglet "object", je vérifie que le groupe "altimètre.ac" est bien sélectionner dans l'outliner afin d'être certain d'exporter TOUS les objects qui le constitue (vitre, aiguille, face....) et là je clic sur "Save ac file". Voilà c'est fait.
Et vu que je suis curieux je fais une petite vérification car j'ai un doute : le fichier altimeter.ac possède donc plusieurs objets dont le centre de rotation de l'aiguille est tout simplement situé au centre de Blender. Oui mais vu qu'on a importé et déplacé l'instrument alors il n'est plus du tout au centre de Blender, donc lorsque je clic sur "Save ac file" je prie à genoux pour que le script se souvienne que l'instrument a été déplacé et donc qu'il doit le remettre au centre de Blender juste avant de l'exporter. Malheureusement cela n'arrive pas
Pour prendre un exemple concret : lorsque je charge le tableau de bord complet du Cap10B l'altimètre est situé 10cm sur la gauche du centre de Blender, lorsque j'exporte ça avec "Save ac file" les objets sont donc enregistré 10cm sur la gauche du centre de Blender. Du coup lorsque je réimporte la tableau de bord tout entier la fois d'après, l'altimètre est maintenant à 20cm à gauche du centre de Blender, et là fois d'après il sera à 40cm etc etc ... bon je pense que tu as compris ce qui se passe
As-tu un moyen d'éviter cela ? La solution serait de dire <<juste avant l'export, je supprime les offsets afin de placer l'objet au centre de Blender, je fais l'export, puis je remet les offsets afin que l'utilisateur n'y voit que du feu !>>
Concernant la lecture des fichier JSBSim j'ai vu que tu prenais en compte la valeur de "name" pour différencier les différents trains d'atterrissage. Hors la valeur de "name" est choisi par l'utilisateur. Dans le cas du Cap10B c'est "LEFT_MAIN" mais l'utilisateur aurait très bien pu mettre "TRAIN_GAUCHE" du coup ta condition :
- Code:
if node.attributes['type'].value == 'BOGEY' and node.attributes['name'].value == 'LEFT_MAIN':
Il en est de même pour les <type> "STRUCTURE". Du coup celà simplifierai beaucoup le script, au lieu d'avoir une fonction qui extrait le train gauche, puis une fonction pour le train droit, puis pour la roue folle, puis pour l'aile gauche puis l'aile droite... etc etc etc Et bien tu as juste à créer une fonction pour les <type> = BOGEY et <type> = STRUCTURE.
Voilà j'espère que ça va t'aider
PS: je vais attendre avant de continuer le tuto car avec tout les changements et nouvelles fonctionnalité mon début de tuto est obsolète (et c'est très bien )
Le script est vraiment intéressant car il devient de plus en plus complet ! Je n'aurai jamais pensé qu'on puisse aller jusque là. C'est vraiment chouette.
Pour info, sur le forum US, un membre s'est lancé dans l'adaptation du script de Malchior qui permettait de visualiser un FDM YaSim pour Blender 2.6x et il ça a aussi commencé à parler de JSBSim... Pour YaSim il pourrait être intéressant de voir avec lui si il ne veux pas ajouter son travail à notre script et aussi lui dire que pour jsbSim c'est déjà fait ou alors attendre sans rien dire et voir si ça aboutit et si c'est mieux pourquoi pas s'en inspirer pour améliorer le notre.
Amicalement,
Clément
Re: Script flightgear
Second post d'affilé mais qui concerne tout autre chose : les textes OSG
Je pense qu'il n'est pas possible de les exporter car le rendu est totalement différent entre FG et Blender. L'importation est déjà une grosse partie de bricolage (je redimensionne le texte avec une constante dans le code source) alors j'imagine même pas l'export. Aussi plusieurs détails sont incompatible avec Blender du genre <axis-alignment> ou bien <character-aspect-ratio> tous ça c'est très spécifique à FG et non interprétable par Blender.
Pour l'import il manque un truc important : la couleur du texte, je n'ai pas su faire donc tous les textes sont en noir mais en fait il faudrait ajuster la couleur du texte en fonction de l'animation de <type> = material qui accompagne les textes OSG. Bref je n'ai fait que du bricolage qui ne fait que tenir avec du scotch et des bouts de ficelles entre guillemets
Amicalement,
Clément
Je pense qu'il n'est pas possible de les exporter car le rendu est totalement différent entre FG et Blender. L'importation est déjà une grosse partie de bricolage (je redimensionne le texte avec une constante dans le code source) alors j'imagine même pas l'export. Aussi plusieurs détails sont incompatible avec Blender du genre <axis-alignment> ou bien <character-aspect-ratio> tous ça c'est très spécifique à FG et non interprétable par Blender.
Pour l'import il manque un truc important : la couleur du texte, je n'ai pas su faire donc tous les textes sont en noir mais en fait il faudrait ajuster la couleur du texte en fonction de l'animation de <type> = material qui accompagne les textes OSG. Bref je n'ai fait que du bricolage qui ne fait que tenir avec du scotch et des bouts de ficelles entre guillemets
Amicalement,
Clément
Re: Script flightgear
_run_ a écrit:
@Alexis.
Je viens de m'apercevoir que je n'ai pas tenu compte des chemins windows. Pourras-tu faire des tests, et me prévenir s'il te plait ?
Tout a l'air de fonctionner, sauf quand je change de partition, j'en ai une deuxième (F:) et le script plante que je souhaite exporter l'animation.
J'ai fait un essai avec l'anémomètre, j'ai fait un write file et j'obtiens ceci, il y a un soucis avec le chemin de fichier ..\..\..\..\..\..\..\..\..\..\fgdev\fgdata\Aircraft\DR400-jsbSim\Models\Interior\Panel\Instruments\ai/AI.ac
- Code:
<?xml version="1.0" ?>
<PropertyList>
<!--
***********************************************************
***********************************************************
Part of this file was generating by a blender script
Script fg2blender v0.1 alpha (c)paf
download: http://gitorious.org/paf/fg2blender
contacts: http://equipe-flightgear.forumactif.com
doc: http://
***********************************************************
***********************************************************
-->
<path>
..\..\..\..\..\..\..\..\..\..\fgdev\fgdata\Aircraft\DR400-jsbSim\Models\Interior\Panel\Instruments\ai/AI.ac
</path>
<!--Armature.058-->
<animation>
<type>
translate
</type>
<object-name>
pitch
</object-name>
<property>
instrumentation/attitude-indicator/indicated-pitch-deg
</property>
<factor>
-0.000700
</factor>
<axis>
<x>
-0.0872
</x>
<y>
0.0000
</y>
<z>
0.9962
</z>
</axis>
<interpolation>
<entry>
<ind>
0.0000
</ind>
<dep>
-0.0000
</dep>
</entry>
<entry>
<ind>
1.0000
</ind>
<dep>
1.0000
</dep>
</entry>
</interpolation>
</animation>
<!--Armature.059-->
<animation>
<type>
translate
</type>
<object-name>
pitch
</object-name>
<property>
instrumentation/attitude-indicator/horizon-offset-deg
</property>
<factor>
-0.000700
</factor>
<axis>
<x>
-0.0872
</x>
<y>
0.0000
</y>
<z>
0.9962
</z>
</axis>
<interpolation>
<entry>
<ind>
0.0000
</ind>
<dep>
-0.0000
</dep>
</entry>
<entry>
<ind>
1.0000
</ind>
<dep>
1.0000
</dep>
</entry>
</interpolation>
</animation>
<!--Armature.062-->
<animation>
<type>
rotate
</type>
<object-name>
pitch
</object-name>
<property>
instrumentation/attitude-indicator/indicated-roll-deg
</property>
<factor>
-1.000000
</factor>
<center>
<x-m>
0.0000
</x-m>
<y-m>
0.0000
</y-m>
<z-m>
0.0000
</z-m>
</center>
<axis>
<x>
-0.9962
</x>
<y>
0.0000
</y>
<z>
-0.0872
</z>
</axis>
<interpolation>
<entry>
<ind>
0.0000
</ind>
<dep>
-0.0000
</dep>
</entry>
<entry>
<ind>
1.0000
</ind>
<dep>
1.0000
</dep>
</entry>
</interpolation>
</animation>
<!--Armature.060-->
<animation>
<type>
translate
</type>
<object-name>
cageknob
</object-name>
<property>
instrumentation/attitude-indicator/caged-flag
</property>
<factor>
0.005000
</factor>
<axis>
<x>
0.9962
</x>
<y>
0.0000
</y>
<z>
0.0872
</z>
</axis>
<interpolation>
<entry>
<ind>
0.0000
</ind>
<dep>
0.0000
</dep>
</entry>
<entry>
<ind>
1.0000
</ind>
<dep>
1.0000
</dep>
</entry>
</interpolation>
</animation>
<!--Armature.061-->
<animation>
<type>
rotate
</type>
<object-name>
roll
</object-name>
<property>
instrumentation/attitude-indicator/indicated-roll-deg
</property>
<factor>
-1.000000
</factor>
<center>
<x-m>
0.0000
</x-m>
<y-m>
0.0000
</y-m>
<z-m>
0.0000
</z-m>
</center>
<axis>
<x>
-0.9962
</x>
<y>
0.0000
</y>
<z>
-0.0872
</z>
</axis>
<interpolation>
<entry>
<ind>
0.0000
</ind>
<dep>
-0.0000
</dep>
</entry>
<entry>
<ind>
1.0000
</ind>
<dep>
1.0000
</dep>
</entry>
</interpolation>
</animation>
<!--Armature.063-->
<animation>
<type>
rotate
</type>
<object-name>
ajusteknob
</object-name>
<property>
instrumentation/attitude-indicator/horizon-offset-deg
</property>
<factor>
7.500000
</factor>
<center>
<x-m>
0.0000
</x-m>
<y-m>
0.0000
</y-m>
<z-m>
-0.0360
</z-m>
</center>
<axis>
<x>
0.9962
</x>
<y>
0.0000
</y>
<z>
0.0872
</z>
</axis>
<interpolation>
<entry>
<ind>
0.0000
</ind>
<dep>
0.0000
</dep>
</entry>
<entry>
<ind>
1.0000
</ind>
<dep>
1.0000
</dep>
</entry>
</interpolation>
</animation>
</PropertyList>
Re: Script flightgear
Bonjour,
Je vais faire plusieurs post, pour vous répondre.
Premièrement, le plus urgent.
L'export de fichier ac et des animations xml ne tient pas compte des offsets, issu du fichier xml. L'import est OK, mais pas l''export. Je viens juste de "pusher" un export ac qui viens de corriger cela. Le xml ne devrait pas tarder. Ce qui explique tes soucis.
Ensuite je regarderai les chemins, je pense que juste l'appel de la fonction xml_import.conversion() devrait suffire.
Pour l'intégration de yasim, je suis favorable, mais j'ai l'impression que mon anglais à la "Louis de Funès", ne permet pas de les convaincre. Peux-tu t'en chargé Clément.
A+
Je vais faire plusieurs post, pour vous répondre.
Premièrement, le plus urgent.
L'export de fichier ac et des animations xml ne tient pas compte des offsets, issu du fichier xml. L'import est OK, mais pas l''export. Je viens juste de "pusher" un export ac qui viens de corriger cela. Le xml ne devrait pas tarder. Ce qui explique tes soucis.
Ensuite je regarderai les chemins, je pense que juste l'appel de la fonction xml_import.conversion() devrait suffire.
Pour l'intégration de yasim, je suis favorable, mais j'ai l'impression que mon anglais à la "Louis de Funès", ne permet pas de les convaincre. Peux-tu t'en chargé Clément.
A+
_run_- Le baron rouge
- Messages : 433
Date d'inscription : 10/06/2011
Re: Script flightgear
Correction pour le xml, à tester !!! J'ai l'impression qu'il y a une erreur. Dans le cas du cap 10, il n'y a pas de rotation de l'instrument, et ça à l'air de fonctionner. Il faudra faire le test sur les instruments du DR400.
Pour Alexis. Attention avec les chemins, flightgear travail en relatif, et le script fait à peu prêt la même chose. Lorsque tu changes le chemin d'un fichier xml. Il faut aussi faire le changement au fichier ac, mais aussi aux chemins des textures. Le mieux est de recopier entièrement le répertoire de l'avion. L'appel de la fonction conversion a été rajouté, donc le symbole de séparation de répertoire, devrait être bon.
Pour Alexis. Attention avec les chemins, flightgear travail en relatif, et le script fait à peu prêt la même chose. Lorsque tu changes le chemin d'un fichier xml. Il faut aussi faire le changement au fichier ac, mais aussi aux chemins des textures. Le mieux est de recopier entièrement le répertoire de l'avion. L'appel de la fonction conversion a été rajouté, donc le symbole de séparation de répertoire, devrait être bon.
_run_- Le baron rouge
- Messages : 433
Date d'inscription : 10/06/2011
Re: Script flightgear
Pour le jsbsim.
Pour l'instant il ne s'agit que d'un export. Pour les vues c'est la même chose. On créer dans blender puis on exporte.
Je n'ai pas fait l'import, car je crois que cette partie est moins souvent modifié que le maillage. En plus il ne s'agit que l'export de coordonnées de points type "BOGEY" ou centre de gravité, etc...
Les fichiers xml générés sont des fichiers issu d'un patron. Uniquement certaines valeurs sont modifiées. Les fichiers sont : jsbsim_template.xml et view_template.xml, dans le répertoire add-on/io_fg2blender.
Pour la partie text Osg.
Je crois que tu sous-estime ton travail. C'est un très bon début. Pour les couleurs, il faut créer un "matérial" associer au texte et tu rajoutes l'option shadless dans la partie shading de la texture. Tu verras que le texte sera coloré.
Blender fait une gestion relativement précise du texte. Je pense que cela couvre les besoins de flightgear
Blender permet de modifier l'espacement entre les lettres:
Property>Object Data>Paragraphe>Spacing>Character
Blender permet de modifier l'espacement entre les mots
Property>Object Data>Paragraphe>Spacing>Word
Blender permet de modifier l'espacement entre les lignes
Property>Object Data>Paragraphe>Spacing>Line
Pour gras et italique , il faut jouer entre :
Property>Object Data>Geometry>Modification>Offset
Property>Object Data>Font>Shear
Pour la taille
Property>Object Data>Font>Shear>Size
Il est inévitable de faire des fonctions de conversions pour passer de blender à flightgear. Ce n'est pas du bricolage comme tu dit. Il faut juste éviter de faire des conversions un peu partout. Mais de regrouper ces conversions.
Le seul truc c'est la gestion des polices de blender. Il faudra regarder cela de prêt.
A+
Pour l'instant il ne s'agit que d'un export. Pour les vues c'est la même chose. On créer dans blender puis on exporte.
Je n'ai pas fait l'import, car je crois que cette partie est moins souvent modifié que le maillage. En plus il ne s'agit que l'export de coordonnées de points type "BOGEY" ou centre de gravité, etc...
Les fichiers xml générés sont des fichiers issu d'un patron. Uniquement certaines valeurs sont modifiées. Les fichiers sont : jsbsim_template.xml et view_template.xml, dans le répertoire add-on/io_fg2blender.
Pour la partie text Osg.
Je crois que tu sous-estime ton travail. C'est un très bon début. Pour les couleurs, il faut créer un "matérial" associer au texte et tu rajoutes l'option shadless dans la partie shading de la texture. Tu verras que le texte sera coloré.
Blender fait une gestion relativement précise du texte. Je pense que cela couvre les besoins de flightgear
Blender permet de modifier l'espacement entre les lettres:
Property>Object Data>Paragraphe>Spacing>Character
Blender permet de modifier l'espacement entre les mots
Property>Object Data>Paragraphe>Spacing>Word
Blender permet de modifier l'espacement entre les lignes
Property>Object Data>Paragraphe>Spacing>Line
Pour gras et italique , il faut jouer entre :
Property>Object Data>Geometry>Modification>Offset
Property>Object Data>Font>Shear
Pour la taille
Property>Object Data>Font>Shear>Size
Il est inévitable de faire des fonctions de conversions pour passer de blender à flightgear. Ce n'est pas du bricolage comme tu dit. Il faut juste éviter de faire des conversions un peu partout. Mais de regrouper ces conversions.
Le seul truc c'est la gestion des polices de blender. Il faudra regarder cela de prêt.
A+
_run_- Le baron rouge
- Messages : 433
Date d'inscription : 10/06/2011
Re: Script flightgear
Salut René,
Ayant un peu de temps je me remet sur le script pour te donner des retours d'expérience.
Il semblerai que l'export AC3D (via le bouton "Save ac file" ne soit pas fonctionnel à 100%. Je ne comprend pas ce qu'il se passe mais j'imagine que pour toi ça doit être clair comme de l'eau de roche. Donc voilà le symptôme :
1) J'ouvre le fichier panel.xml du Cap10B et je créer les animations
2) J'isole l'horamètre afin de travailler dessus et je commence à modifier la 3D comme j'en ai envie
3) J'ai fini de modifier la 3D, je vérifie que les "Mesh Name" correspondent bien à ce que je veux et je clic sur "Save ac file"
4) Je lance FlightGear pour voir mes modifications : l'horamètre est purement et simplement absent du tableau de bord
5) Je vais vérifier que le fichier horametre.ac existe et est rempli : c'est le cas le fichier pèse 135Ko donc y'a bien des choses dedans ce n'est pas un fichier vide.
6) J'importe le fichier horametre.ac à l'aide de ton script d'import AC3D (File>Import>Flightgear (.ac)) : l'horamètre au complet est bien là, il y a juste une erreur de nom d'objet (peut-être un truc à corriger dans le script ? )
7) J'importe ce même fichier avec le script d'import de mr_no : les objets sont tous présents dans l'outliner mais aucune 3D n'est visible. Du coup seul ton import d'AC peut lire ton export d'AC apparement
Avant ce n'était pas le cas, lors de tes dernières intervention il y a peut-être une ligne ou mot qui est passé à la trappe. Je te laisse voir ça
Je continue mes explorations
Amicalement,
Clément
Ayant un peu de temps je me remet sur le script pour te donner des retours d'expérience.
Il semblerai que l'export AC3D (via le bouton "Save ac file" ne soit pas fonctionnel à 100%. Je ne comprend pas ce qu'il se passe mais j'imagine que pour toi ça doit être clair comme de l'eau de roche. Donc voilà le symptôme :
1) J'ouvre le fichier panel.xml du Cap10B et je créer les animations
2) J'isole l'horamètre afin de travailler dessus et je commence à modifier la 3D comme j'en ai envie
3) J'ai fini de modifier la 3D, je vérifie que les "Mesh Name" correspondent bien à ce que je veux et je clic sur "Save ac file"
4) Je lance FlightGear pour voir mes modifications : l'horamètre est purement et simplement absent du tableau de bord
5) Je vais vérifier que le fichier horametre.ac existe et est rempli : c'est le cas le fichier pèse 135Ko donc y'a bien des choses dedans ce n'est pas un fichier vide.
6) J'importe le fichier horametre.ac à l'aide de ton script d'import AC3D (File>Import>Flightgear (.ac)) : l'horamètre au complet est bien là, il y a juste une erreur de nom d'objet (peut-être un truc à corriger dans le script ? )
7) J'importe ce même fichier avec le script d'import de mr_no : les objets sont tous présents dans l'outliner mais aucune 3D n'est visible. Du coup seul ton import d'AC peut lire ton export d'AC apparement
Avant ce n'était pas le cas, lors de tes dernières intervention il y a peut-être une ligne ou mot qui est passé à la trappe. Je te laisse voir ça
Je continue mes explorations
Amicalement,
Clément
Re: Script flightgear
J'ai ajouté un item dans le menu "Flightgear Tools Menu" : Manual. C'est un simple lien vers la page wiki que je viens d'ouvrir : http://wiki.flightgear.org/Fr/fg2blender (c'est sur le dépôt)
Donc via le menu Flightgear Tools Menu on peut directement atterrir sur ce manuel
Je pense qu'il faut d'abord le faire en Francais, il faut le rédiger le plus proprement et clairement possible, puis une fois que la version Francaise est nickel on la traduit en Anglais.
Cette page du wiki est un "manuel" et non pas un "tutoriel". Pour éviter que cette page de wiki "s'éparpille" : un tutoriel est un exemple expliqué de A à Z, on accompagne le contributeur à créer quelques choses. Le manuel est juste là pour dire <<Vous pouvez faire ça grâce à ce bouton, vous pouvez faire ça grâce à cet autre bouton... etc etc>>
Toute aide est la bienvenue pour compléter la page du wiki
PS: pour ceux (Ernest/René) qui ont réussit à finir l'animation du(des) piston(s) : pouvez-vous mettre à disposition le fichier .blend, le fichier .ac et le .xml s'il vous plait ? j'aimerai le mettre en téléchargement sur le wiki à titre d'exemple. Du genre << Regardez ce fichier .blend... et voilà ce qu'on a exporté : .ac/.xml >>
Amicalement,
Clément
Donc via le menu Flightgear Tools Menu on peut directement atterrir sur ce manuel
Je pense qu'il faut d'abord le faire en Francais, il faut le rédiger le plus proprement et clairement possible, puis une fois que la version Francaise est nickel on la traduit en Anglais.
Cette page du wiki est un "manuel" et non pas un "tutoriel". Pour éviter que cette page de wiki "s'éparpille" : un tutoriel est un exemple expliqué de A à Z, on accompagne le contributeur à créer quelques choses. Le manuel est juste là pour dire <<Vous pouvez faire ça grâce à ce bouton, vous pouvez faire ça grâce à cet autre bouton... etc etc>>
Toute aide est la bienvenue pour compléter la page du wiki
http://wiki.flightgear.org/Fr/fg2blender
PS: pour ceux (Ernest/René) qui ont réussit à finir l'animation du(des) piston(s) : pouvez-vous mettre à disposition le fichier .blend, le fichier .ac et le .xml s'il vous plait ? j'aimerai le mettre en téléchargement sur le wiki à titre d'exemple. Du genre << Regardez ce fichier .blend... et voilà ce qu'on a exporté : .ac/.xml >>
Amicalement,
Clément
Re: Script flightgear
F-JJTH a écrit:
PS: pour ceux (Ernest/René) qui ont réussit à finir l'animation du(des) piston(s) : pouvez-vous mettre à disposition le fichier .blend, le fichier .ac et le .xml s'il vous plait ? j'aimerai le mettre en téléchargement sur le wiki à titre d'exemple. Du genre << Regardez ce fichier .blend... et voilà ce qu'on a exporté : .ac/.xml >>
Je rassemble tout ça d'ici
http://dl.free.fr/fdThfqBZi
Amicalement.
F-Sig- Pilote d'hélico
- Messages : 993
Date d'inscription : 21/09/2010
Age : 77
Localisation : LFIM - LFBT
Re: Script flightgear
Bonjour tout le monde,
En ce moment , je n'ai pas autant de temps que je voudrais pour le script, Désolé ....
En premier, je viens de regarder le lien sur wiki.flightgear.org ...
Excellent, le lien via le menu flightgear,. Et le wiki est un très bon début.
Ensuite, j'ai fait quelques tests avec l'export du fw190 et du mc202, cela fonctionne, mais ... et il y a un mais .... je suis très très dessus. Le script permet de faire cette conversion, pas de soucis, mais il n'est pas du tout intuitif. Les fonctions sont là , et c'est le plus important, mais l'accès n'est pas logique. Il faut à mon avis, presque, tout revoir. Je parle de l'interface. (Entre autre le menu flightgear tools)
J'avais commencé la conversion du folgore, mais cela a été "loborieux", et je me suis dit qu'a part moi , personne ne peut le faire. Certaines fonctions utilisent la sélection, pas d'autres, d'autres fonctions font référence à l'objet actif. Ce n'est pas claire du tout.
Je pense que la conversion du mc202 sera vraiment utile au script. Une bonne dose de réflexion sera nécessaire.... et votre avis sera bien plus important que le mien.
@Clement
Pour ton problème d'import/export, j'y est eu droit aussi, je crois que c'est corrigé. J'ai pushé une correction. C'est la manière d'utiliser la transparence, qui à fait ça. Il va falloir être très précis. Aujourd'hui on n'utilise de moins en moins la transparence du "material", mais on utilise plutôt le canal alpha des textures. Et cette fois blender, se configure différemment. Dans blender, on met dans le "material", la transparence à "0" (d'où le bug ) , et on active, le canal alpha de la texture. Les vitres de l'IAR80 permettent très bien de voir l'avantage de cette solution. Mais les deux manières peuvent coexister.
A+
En ce moment , je n'ai pas autant de temps que je voudrais pour le script, Désolé ....
En premier, je viens de regarder le lien sur wiki.flightgear.org ...
Excellent, le lien via le menu flightgear,. Et le wiki est un très bon début.
Ensuite, j'ai fait quelques tests avec l'export du fw190 et du mc202, cela fonctionne, mais ... et il y a un mais .... je suis très très dessus. Le script permet de faire cette conversion, pas de soucis, mais il n'est pas du tout intuitif. Les fonctions sont là , et c'est le plus important, mais l'accès n'est pas logique. Il faut à mon avis, presque, tout revoir. Je parle de l'interface. (Entre autre le menu flightgear tools)
J'avais commencé la conversion du folgore, mais cela a été "loborieux", et je me suis dit qu'a part moi , personne ne peut le faire. Certaines fonctions utilisent la sélection, pas d'autres, d'autres fonctions font référence à l'objet actif. Ce n'est pas claire du tout.
Je pense que la conversion du mc202 sera vraiment utile au script. Une bonne dose de réflexion sera nécessaire.... et votre avis sera bien plus important que le mien.
@Clement
Pour ton problème d'import/export, j'y est eu droit aussi, je crois que c'est corrigé. J'ai pushé une correction. C'est la manière d'utiliser la transparence, qui à fait ça. Il va falloir être très précis. Aujourd'hui on n'utilise de moins en moins la transparence du "material", mais on utilise plutôt le canal alpha des textures. Et cette fois blender, se configure différemment. Dans blender, on met dans le "material", la transparence à "0" (d'où le bug ) , et on active, le canal alpha de la texture. Les vitres de l'IAR80 permettent très bien de voir l'avantage de cette solution. Mais les deux manières peuvent coexister.
A+
_run_- Le baron rouge
- Messages : 433
Date d'inscription : 10/06/2011
Re: Script flightgear
Merci pour la correction de l'export AC je vais tester ça dans la journée. Pour être certain de bien comprendre un exemple simple et rapide :
Je veux rendre un objet 50% transparent, 2 solutions :
1) Je met le material à 50% de transparence et je n'utilise pas de canal alpha sur ma texture
2) Je met le material à 0% de material et j'utilise un canal alpha que je met à 50% de transparence sur ma texture
C'est bien ça ?
Concernant "l'accessibilité" des fonctions du script :
Plus ça sera simple, mieux ça sera, c'est certain, mais est-il possible de faire plus simple ? Le script fg2blender n'est pas un petit script tout simple qui ne fait que ceci ou cela. C'est un script important possédant beaucoup de fonctionnalité. On dit souvent que Blender est une usine à gaz, le script fg2blender est à son image
Personnellement je n'ai aucune idée de "comment rendre plus simple l'utilisation du script" pour la simple et mauvaise raison que je ne connais pas les possibilités de Blender. Je veux dire par là que toi tu peux te faire la réflexion "Actuellement pour utiliser cette fonctionnalité, il faut faire ça et ça et ça, puis sélectionné ça avec ça et enfin cliquer sur ça. Alors qu'on pourrait faire ça, je sélectionne juste ça et je clique là". Il y a forcément plusieurs chemin qui mènent au bon résultat, seul un expert comme toi peux décider du meilleur chemin pour nous.
Après, comme je le disais, fg2blender n'est pas un petit truc simple, bête et méchant, du coup il y aura forcément un travail d'apprentissage d'utilisation du script et c'est là qu'entre en jeu le rôle du wiki et des tutos (écrit/vidéo). Avec de bonnes explications on peut simplifier l'utilisation du script. Tant qu'on explique clairement et simplement un truc compliqué et bien ce truc n'est plus si compliqué que ça.
Donc pour conclure : bien entendu si tu connais des solutions pour simplifier fais-le, sinon dis toi qu'une bonne doc avec un bon tuto permettra de clarifier les choses et les rendre accessible et utilisable.
Je finirai par une question simple : as-tu une idée pour tout simplifier ? peut-être as-tu rêvé de l'interface parfaite pour le script cette nuit et que tu sais parfaitement tout ce qu'il faut changer/supprimer/ajouter pour avoir une interface au top, ou bien au contraire tu es persuadé qu'il faut modifier plein de truc mais tu ne sais pas vers quoi il faut aller pour le moment.
Amicalement,
Clément
Je veux rendre un objet 50% transparent, 2 solutions :
1) Je met le material à 50% de transparence et je n'utilise pas de canal alpha sur ma texture
2) Je met le material à 0% de material et j'utilise un canal alpha que je met à 50% de transparence sur ma texture
C'est bien ça ?
Concernant "l'accessibilité" des fonctions du script :
Plus ça sera simple, mieux ça sera, c'est certain, mais est-il possible de faire plus simple ? Le script fg2blender n'est pas un petit script tout simple qui ne fait que ceci ou cela. C'est un script important possédant beaucoup de fonctionnalité. On dit souvent que Blender est une usine à gaz, le script fg2blender est à son image
Personnellement je n'ai aucune idée de "comment rendre plus simple l'utilisation du script" pour la simple et mauvaise raison que je ne connais pas les possibilités de Blender. Je veux dire par là que toi tu peux te faire la réflexion "Actuellement pour utiliser cette fonctionnalité, il faut faire ça et ça et ça, puis sélectionné ça avec ça et enfin cliquer sur ça. Alors qu'on pourrait faire ça, je sélectionne juste ça et je clique là". Il y a forcément plusieurs chemin qui mènent au bon résultat, seul un expert comme toi peux décider du meilleur chemin pour nous.
Après, comme je le disais, fg2blender n'est pas un petit truc simple, bête et méchant, du coup il y aura forcément un travail d'apprentissage d'utilisation du script et c'est là qu'entre en jeu le rôle du wiki et des tutos (écrit/vidéo). Avec de bonnes explications on peut simplifier l'utilisation du script. Tant qu'on explique clairement et simplement un truc compliqué et bien ce truc n'est plus si compliqué que ça.
Donc pour conclure : bien entendu si tu connais des solutions pour simplifier fais-le, sinon dis toi qu'une bonne doc avec un bon tuto permettra de clarifier les choses et les rendre accessible et utilisable.
Je finirai par une question simple : as-tu une idée pour tout simplifier ? peut-être as-tu rêvé de l'interface parfaite pour le script cette nuit et que tu sais parfaitement tout ce qu'il faut changer/supprimer/ajouter pour avoir une interface au top, ou bien au contraire tu es persuadé qu'il faut modifier plein de truc mais tu ne sais pas vers quoi il faut aller pour le moment.
Amicalement,
Clément
Re: Script flightgear
Salut Clément,
Pour la transparence, c'est presque ça :
On utilise deux onglets, pour la gestion de la transparence.
Le premier est l'onglet "material", le second est l'onglet texture.
Premièrement, l'onglet "material" permet de gérer la transparence, grâce à la propriété "Transparency". Lorsque transparency est coché, la transparence s'applique à tout l'objet, quelque soit la valeur du canal alpha de la texture. Un peut comme le "material" défini dans les fichiers ac3d. C'est le dernier paramètre du "material" dans le fichier .ac, paramètre "trans".
Deuxièmement, l'onglet "texture" peut utiliser les textures pour autre chose que de la couleur. Dans la partie diffuse, si l'on coche "Alpha". Alors on utilise le canal alpha de la texture. Mais, dans l'onglet material, on associé "Transparency" et il faut mettre "Alpha" du "material" à zero. On se retrouve avec la configuration suivante.
Material Tranparency -> coché
Alpha (material) = 0.0
Texture Diffuse Alpha -> coché
Alpha (texture) = 1.0
Avec cette façon de faire on gère la transparence non plus au niveau de l'objet mais au niveau du pixel d'un objet.
Enfin la transparence implique une gestion différente des objets dans les moteurs de rendu opengl, et flightgear n'y échappe pas. C'est pour cela qu'il faut déclarer les objets transparents dans les fichiers xml. Pour que la transparence soit correctement affiché, il faut mélangé les objets du plus loin au plus près, par rapport à l'oeil. Les programmes font donc un tri, pour chaque frame, en fonction de l'éloignement des objets. Puis affiche les objets du plus loin au plus près. Pour l'optimisation, le choix entre les deux méthodes, n'a pas de conséquence. Quoiqu'il se passe , les objets seront triés, entre chaque frame. Et le rendu fait le même calcul dans les deux cas. Test du z-buffer, et mélange des pixels en fonction de l'alpha.
J'espère être clair. N'hésitez pas à poser des questions.
Pour la simplicité d'utilisation, ce qui me gêne le plus ce sont les fonctions de copy du menu. Ce n'est pas claire du tout, en faites je travaille à les supprimer. Lorsque l'on renseignera le champs xml_file ou ac_file, les paramètres seront copiés directement à la sélection. Par exemple, on sélectionne grâce au "group blender", l"ensemble des objets d'un fichier ac, puis on change le nom du fichier ac, ce nom est maintenant copié à tous les objets de la sélection.
Avant il fallait changé le nom d'un objet puis faire une sélection puis faire une copie de l'objet actif vers la sélection. Pas pratique du tout.
De la même manière, lorsque l'on part de zéro il faut créer les groups d'objet. Associer les objets d'un même fichier .ac dans un group (CTRL-G)
Dernière chose lorsque qu'une animation a le paramètre factor à 0.0, l'animation n'est pas exporté. Je pense qu'il faut changer cela aussi. Mais ce n'est pas encore fait.
A+
Pour la transparence, c'est presque ça :
On utilise deux onglets, pour la gestion de la transparence.
Le premier est l'onglet "material", le second est l'onglet texture.
Premièrement, l'onglet "material" permet de gérer la transparence, grâce à la propriété "Transparency". Lorsque transparency est coché, la transparence s'applique à tout l'objet, quelque soit la valeur du canal alpha de la texture. Un peut comme le "material" défini dans les fichiers ac3d. C'est le dernier paramètre du "material" dans le fichier .ac, paramètre "trans".
Deuxièmement, l'onglet "texture" peut utiliser les textures pour autre chose que de la couleur. Dans la partie diffuse, si l'on coche "Alpha". Alors on utilise le canal alpha de la texture. Mais, dans l'onglet material, on associé "Transparency" et il faut mettre "Alpha" du "material" à zero. On se retrouve avec la configuration suivante.
Material Tranparency -> coché
Alpha (material) = 0.0
Texture Diffuse Alpha -> coché
Alpha (texture) = 1.0
Avec cette façon de faire on gère la transparence non plus au niveau de l'objet mais au niveau du pixel d'un objet.
Enfin la transparence implique une gestion différente des objets dans les moteurs de rendu opengl, et flightgear n'y échappe pas. C'est pour cela qu'il faut déclarer les objets transparents dans les fichiers xml. Pour que la transparence soit correctement affiché, il faut mélangé les objets du plus loin au plus près, par rapport à l'oeil. Les programmes font donc un tri, pour chaque frame, en fonction de l'éloignement des objets. Puis affiche les objets du plus loin au plus près. Pour l'optimisation, le choix entre les deux méthodes, n'a pas de conséquence. Quoiqu'il se passe , les objets seront triés, entre chaque frame. Et le rendu fait le même calcul dans les deux cas. Test du z-buffer, et mélange des pixels en fonction de l'alpha.
J'espère être clair. N'hésitez pas à poser des questions.
Pour la simplicité d'utilisation, ce qui me gêne le plus ce sont les fonctions de copy du menu. Ce n'est pas claire du tout, en faites je travaille à les supprimer. Lorsque l'on renseignera le champs xml_file ou ac_file, les paramètres seront copiés directement à la sélection. Par exemple, on sélectionne grâce au "group blender", l"ensemble des objets d'un fichier ac, puis on change le nom du fichier ac, ce nom est maintenant copié à tous les objets de la sélection.
Avant il fallait changé le nom d'un objet puis faire une sélection puis faire une copie de l'objet actif vers la sélection. Pas pratique du tout.
De la même manière, lorsque l'on part de zéro il faut créer les groups d'objet. Associer les objets d'un même fichier .ac dans un group (CTRL-G)
Dernière chose lorsque qu'une animation a le paramètre factor à 0.0, l'animation n'est pas exporté. Je pense qu'il faut changer cela aussi. Mais ce n'est pas encore fait.
A+
_run_- Le baron rouge
- Messages : 433
Date d'inscription : 10/06/2011
Re: Script flightgear
Je manque de temps pour continuer (ce projet est un projet complexe pour moi qui me demande beaucoup de temps à avancer) j'espère retrouver un peu de temps à partir de Mercredi prochain.
René, qu'en est-il pour toi ?
Il serait bien de faire une TodoList de ce qu'il reste à faire/voir (je me souviens que les derniers messages de René étaient un peu alarmiste "il faut repenser entièrement le script")
La simplification du menu était à l'honneur je crois ?
On se lance dans la conversion du MC202 ou on attend encore d'avancer sur le script ? (il faudrait réussir à tout faire ou presque avec le script afin d'en exploiter toute les possibilités)
L'import/export AC3D avait quelques soucis c'est résolu ? je me souviens plus :/
Si je reviens dessus maintenant c'est parce que sur IRC Gijs m'a demandé si une version Anglaise était prévu concernant la page du wiki
Comme quoi le wiki international permet de "se montrer"
Amicalement,
Clément
René, qu'en est-il pour toi ?
Il serait bien de faire une TodoList de ce qu'il reste à faire/voir (je me souviens que les derniers messages de René étaient un peu alarmiste "il faut repenser entièrement le script")
La simplification du menu était à l'honneur je crois ?
On se lance dans la conversion du MC202 ou on attend encore d'avancer sur le script ? (il faudrait réussir à tout faire ou presque avec le script afin d'en exploiter toute les possibilités)
L'import/export AC3D avait quelques soucis c'est résolu ? je me souviens plus :/
Si je reviens dessus maintenant c'est parce que sur IRC Gijs m'a demandé si une version Anglaise était prévu concernant la page du wiki
Comme quoi le wiki international permet de "se montrer"
Amicalement,
Clément
Page 11 sur 17 • 1 ... 7 ... 10, 11, 12 ... 17
Sujets similaires
» Script flightgear Import/Export .ac
» Script download_and_compile.sh
» Script blender ...
» Script d'animation Blender
» Plus de FlightGear
» Script download_and_compile.sh
» Script blender ...
» Script d'animation Blender
» Plus de FlightGear
Page 11 sur 17
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum