La patrouille de france Flightgear
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Google Pixel 7 5G – Smartphone 6,3″ OLED ...
Voir le deal
316 €

Script flightgear

+4
Guillaume
Patten
HaraldJ
Alexis
8 participants

Page 8 sur 17 Précédent  1 ... 5 ... 7, 8, 9 ... 12 ... 17  Suivant

Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  Alexis Jeu 26 Juil 2012 - 18:49

Je viens d'envoyé ce que j'ai fait.

Alors tu va voir que quand tu sélectionne un objet ou une armature, j'ai placé deux boutons show et show_all . Bon c'est du provisoire, je vais mieux présenter tout ça...

Show : affiche l'ensemble des objets liés à celui déjà sélectionné. Pour ceux qui suivent, imaginez que vous souhaitiez bosser sur un train d'atterrissage, vous sélectionnez un des objets du train (peu importe), vous cliquez sur "Show" et comme par magie, tout l'avion disparaît, sauf l'ensemble du train. Vous pouvez travailler beaucoup plus facilement et efficacement (rien ne vous gène)

Show_all : Pour ré-afficher tout l'avion.
Alexis
Alexis
Admin

Messages : 2067
Date d'inscription : 19/02/2009
Age : 31
Localisation : Loire Atlantique

http://fgalexis.jimdo.com/

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Ven 27 Juil 2012 - 13:48

Ca fonctionne .....
Nickel
_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Ven 27 Juil 2012 - 20:09

Bonjour tout le monde,
Cela fait plusieurs jours que je me penche sur le f14 de flightgear. Et je trouve beaucoup de choses qui me déplaisent. A force de regarder ce qui ne fonctionne pas dans le script, et les fichiers de configurations, j'aimerai avoir votre avis.
En ouvrant le fichier Model/f14b.xml (sans les fichiers inclus) on s'aperçoit qu'il y a un problème avec le déplacement des ailes. Certains morceaux ne subissent pas les rotations. En faites, en cherchant, j'ai finalement trouvé dans le fichier .ac des objets différents ayant exactement le même nom. Je ne sais pas comment on en est arrivé là, mais je trouve vraiment pénible de gérer ces cas. On peut toujours, faire quelques choses, mais cela rend le script de moins en moins lisible (tout est relatif) et cela me chagrine.
Qu'en pensez-vous ??

Il y a une solution:
Actuellement, lors de la lecture d'un fichier .ac, il y a création d'un dictionnaire, pour convertir un nom d'objet ac, en nom d'objet blender. En effet, blender impose un nom avec 21 caractères au maximun, et pas ac3d. Ou bien, lors d'une inclusion multiple, on peut retrouvé deux objets identiques, avec des offsets différents. Le dictionnaire permet de s'y retrouver.
Pour inclure ce nouveau cas. il faudrait que le dictionnaire ne renvoi pas sur un nom unique mais sur une liste de nom.
Je trouve que cela commence à faire beaucoup de liste qui contient une liste qui contient une liste qui contient une liste ... etc...

En faites ce qui me gêne le plus, c'est que j'aimerai passé à l'étape suivante la création d'un avion.

J'attends toujours l'accord de M. Paolo Matricardi voici la demande :
Hi paolo,

I have a wish.
In this moment, I write a blender script, for the flightgear community. This script is a open-source program with gpl license, for creating model to this flight simulator. This script is only a tools for flightgear designer.
And I search on internet some models, for validate the different computing of my script. I think, convert a x-plane model into a flightgear model, it's a good way for this.
At the end, Is it possible, to publish just one of your planes with your entire copyright, into the flightgear simulator.

I will understand , if you are not agree

Merci de votre attention
René
et vous avez le droit de rigoler de mon anglais à la Louis de Funès ....

Sinon, il y aurait bien ma modification de spitfire, mais il y a beaucoup de chose à revoir. Le dépliage est entièrement à refaire. Il faut finir le cockpit, avec quelques instruments à faire et d'autres à refaire. Et puis un FDM, il existe des sites avec les performances de l'époque http://www.spitfireperformance.com/k9787.html ... etc. Beaucoup de boulot .... pour le mettre au niveau de l'IAR80

A+
_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  Alexis Ven 27 Juil 2012 - 21:44

Salut,
Je pense aussi que le problème des noms d'objet identiques peut être mis de côté. C'est vraiment un cas isolé, je ne pensais même pas que ça pouvait arriver !

On peut donc passer à l'étape suivante Smile
Alexis
Alexis
Admin

Messages : 2067
Date d'inscription : 19/02/2009
Age : 31
Localisation : Loire Atlantique

http://fgalexis.jimdo.com/

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  F-JJTH Mer 1 Aoû 2012 - 13:15

Bonjour à tous,

@René: Je suis à nouveau disponible, j'aimerai comprendre de fond en comble les possibilités déjà implémenté dans ton script. Le hic c'est que je n'ai vraiment pas beaucoup de connaissance de Blender. Du coup, te serait-il possible de m'expliquer quelle fonction fait quoi? pourquoi ? comment s'en servir concrètement dans Blender ? Le top du top serait de faire ça sur Mumble et d'enregistrer notre conversation (audio+vidéo) afin que ça deviennent un tuto.

Une fois que je saurai ce que peux faire le script et ce qu'il ne fait pas encore j'aurai une idée de quoi faire pour contribuer au script. Actuellement je crois savoir que le script fait déjà beaucoup mais personne ne sait vraiment bien s'en servir, du coup on ne peut pas dire <<ah tiens quand on fais ça, ça serait mieux d'avoir un raccourcis là>> ou bien <<ah quand je veux ajouter une propriété FG ça serai cool de pouvoir faire ceci et cela comme ça c'est plus simple>>
En ce sens, je pense que la prochaine étape est d'avoir des retours des utilisateurs afin de connaître les problèmes qu'ils ont pu rencontrer ou bien des suggestions.

Quand serais-tu dispo pour ça ? Moi je suis dispo toutes les après midi et soir jusqu'au 10 août pour le moment.

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

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

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Mer 1 Aoû 2012 - 20:28

Salut Clément,

Je suis heureux de te lire, et ok pour un rdv sur mumble. Je suis dispo, par exemple demain, si tu veux. Fixes l'heure ! Il serait bien que Alexis soit dispo aussi. J'ai tenté de prendre contact, en message privé, sur flightgear.org, avec d'autres personnes pouvant aider. Mais je n'ai pas eu de réponses positives. Pas graves.

A+
_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  F-JJTH Mer 1 Aoû 2012 - 23:17

C'est bien dommage que tu n'ai pas eu de réponses positive...
Pour moi c'est ok demain vers 16h30/17h. Alexis seras-tu dispo ? Si tu es dispo à une autre heure dis le je peux m'adapter Wink

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

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

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  Alexis Jeu 2 Aoû 2012 - 0:34

Je ne travail pas demain, donc oui, dispo !
Alexis
Alexis
Admin

Messages : 2067
Date d'inscription : 19/02/2009
Age : 31
Localisation : Loire Atlantique

http://fgalexis.jimdo.com/

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  F-JJTH Ven 3 Aoû 2012 - 15:04

Bonjour à tous,

J'ai pushé la correction concernant les "/" en début de propriété. Par contre je vois que dans le dico des propriétés (props_armature.py) les propriétés commencent par un "/" qu'il faudrait donc supprimer Twisted Evil Alexis ? Laughing
Après avoir pris un "cours de Blender" avec René, voici quelques explications :

Importer un appareil FlightGear :

L'opération est très simple, il suffit d'ouvrir le fichier .xml de son choix à l'aide du menu : File > Import > FlightGear (.xml)
Vous pouvez sélectionner n'importe quel fichier .xml d'animation (ne pas ouvrir de fichier .xml qui contient les sons ou l'interface GUI) Vous pouvez même sélectionner le fichier -set.xml de l'appareil afin de charger l'intégralité de l'appareil.

Script flightgear - Page 8 Captur12



Les options d'import :

Script flightgear - Page 8 Captur13


Vous aurez constaté qu'il y a plusieurs options d'importation, qui sont :
Option ac :

  • Smooth all : permet d'adoucir les angles des objets 3D (Recommandé)
  • Edge split* : permet de diviser les arrêtes des objets 3D (Recommandé)
  • Split angle* : indique l'angle à partir duquel l'Edge split doit être appliqué
  • Active layer : ?????? René peux-tu expliquer ? Smile

*Un exemple concernant le edge split / split angle : Imaginez un cube, chaque face du cube est à angle droit (90°) par rapport au autres face. Si vous indiquez un Split angle de 89°, alors les angles de votre cube seront divisé afin de les rendre plus doux. Si vous indiquez un Split angle de 91°, les angles de votre cube ne subiront aucune transformation. Par défaut Split angle vaut 65° ce qui signifie que si 2 surfaces sont à plus relié à plus de 65°, le Edge split sera appliqué.

@René : corrige moi si j'ai faux !

Option xml :

  • Include file : permet d'inclure les fichiers enfants rencontré dans les balises <include>
  • Active layer : ?????? René peux-tu expliquer ? Smile



Afficher les animations :

Pressez la touche "f" de votre clavier en prenant soin de mettre votre pointeur de souris dans la vue 3D de Blender
Le menu "FlightGear menu tools" apparaît, vous pouvez maintenant cliquer sur "Creation animations", laissez le script calculer les animations pendant quelques secondes.

Script flightgear - Page 8 Captur16

Maintenant vous pouvez presser "Alt+a" et les animations se lancent sous vos yeux. Pour arrêter les animations faites à nouveau "Alt+a" ou "Echap"
Il vous est possible d'accélérer ou ralentir la visualisation les animations, pour cela vous devez presser "f" puis sélectionnez "Time x2" pour accélérer la visualisation ou "Time x0.5" pour ralentir la visualisation.
Notez bien que vous pouvez cliquer plusieurs fois sur "Time x2" et "Time x0.5" chaque clique accélérera/ralentira la visualisation. Si vous voulez voir les animations 4 x moins vite, il vous faudra donc cliquer sur "Time x0.5" 4 fois.

Script flightgear - Page 8 Captur11

Afficher les propriétés d'un objet :

Pour connaître les propriétés d'un objet il vous faut tout d'abord sélectionner l'objet désiré ensuite allez dans le menu "Object" (représenté par un cube orange) et descendez tout en bas. Vous y trouverez un menu FlightGear avec les informations suivantes :

Script flightgear - Page 8 Captur14


  • Name in .ac file : C'est le nom de l'objet telle qu'il est dans le fichier AC3D
  • Ac file : C'est le nom du fichier AC3D dans lequel se situe l'objet
  • Parent : C'est le nom de l'armature dont dépend l'objet. L'armature est ce qui permet l'animation de l'objet


Cliquez maintenant sur le bouton "Select" de l'armature dont dépend l'objet.
S'affiche alors les propriétés de l'objet, ou plutôt les propriétés de l'armature dont dépend l'objet. Il faut bien comprendre que dans Blender on ne peut pas animer un objet. On ne peut animer que des armatures auxquelles on associe nos objets. Ce sont les armatures qui font bouger nos objets.

On a donc les informations suivantes :

Script flightgear - Page 8 Captur15


  • Family : C'est la famille de propriété associé à l'animation
  • Value : C'est le nom de la propriété qui doit être utilisé
  • Property : C'est le chemin complet de la propriété qui doit être utilisé
  • Value : Dans le cas d'une propriété numéroté c'est la valeur du numéro de la propriété. Par exemple, si value = 0, la propriété sera gear/gear]0]/rollspeed-ms, si value = 3, la propriété sera gear/gear]3]/rollspeed-ms
  • xml File : C'est le chemin du fichier XML dans lequel l'animation de l'objet est écrite
  • Type : C'est le type de l'animation
  • Factor : C'est la valeur de la balise <factor>
  • Time : ?????
  • Min : C'est la valeur minimum que peut prendre la propriété dans FlightGear
  • Max : C'est la valeur maximum que peut prendre la propriété dans FlightGear
  • Child(s) object(s) : C'est la liste des objets et armature qui dépendent de cette armature
  • Parent : C'est l'armature dont dépend l'armature actuellement sélectionné




Générer le fichier XML :
--- coming soon ---

Amicalement,
Clément


Dernière édition par F-JJTH le Ven 3 Aoû 2012 - 18:59, édité 2 fois
F-JJTH
F-JJTH
Pilote de Ligne

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

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Ven 3 Aoû 2012 - 15:35

Bonjour tout le monde,

F-JJTH a écrit:
Vous aurez constaté qu'il y a plusieurs options d'importation, qui sont :
Option ac :

  • Smooth all : permet d'adoucir les angles des objets 3D (Recommandé)
  • Edge split* : permet de diviser les arrêtes des objets 3D (Recommandé)
  • Split angle* : indique l'angle à partir duquel l'Edge split doit être appliqué
  • Active layer : ?????? René peux-tu expliquer ? Smile

Pour les options, il faudrait presque ne pas en tenir compte. En faites, certaines sont issues du premier script mais ne sont pas fonctionnelles.
Il n'y a qu'une seule option réellement implanté. L'option "include file". Cette option permet de lire l'ensemble du fichier xml sélectionné, ainsi que tous les fichiers inclus. Inversement, le script ne lit que le fichier sélectionné.

Certainement edge split et smooth all vont disparaître.
Voici le problématique :
Les fichiers .ac utilise un paramètre "crease" pour indiquer qu'il faut lisser l'objet suivant un angle. Dans blender, il est possible de faire la même chose , mais utilise une autre approche. Il faut rajouter un "modifier" du doux nom de "edge-split". Clément l'explique très bien. Mais voilà, dans le script, ajouter un modifier sur chaque objet, ralenti le script. J'ai donc utiliser une autre approche. Le paramètre crease est sauvegardé dans blender, puis après une sélection, on peut appliquer un edge-split sur la sélection en fonction de cette valeur sauvegardée. (touche F, "Flightgear Tools Menu >Edge-Split')

Enfin une autre option qui n'est pas encore totalement implémenté, "active layer"
Blender permet d'utiliser des layers ( calques en français ), et il en possède 20. Lors de l'import, les objets créés apparaissent dans le (ou les) calques actif. Il m'est venu à l'idée de changer de layer à chaque changement de fichier xml. Dans certains avions il y a beaucoup de fichiers, cela permettrait d'avoir des sélections par layers, plus efficace. Aujourd'hui je suis pas sur de l'intérêt de la chose. J'avais dans l'idée d'avoir un layer pour les objets et un autre layer pour les armatures. Et une relation entre les layers. Par exemple, les armatures du layer 3 se trouverait dans le layer 13, et ainsi de suite.
Lorsque j'ai travaillé sur les avions de mon programme, j'ai trouvé cette façon de faire très pratique. A la fin il y a beaucoup d'armatures, et il n'est pas toujours évident de s'y retrouver.

J'ai modifier le script pour insérer la propriété "name_ac" dans le panel flightgear
A+
_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  F-JJTH Ven 3 Aoû 2012 - 17:38

Ce que je pense : (je pense pas forcément bien... c'est juste un avis)

Si c'est possible à faire : oublier l'import/export AC3D, mr_no sur le forum US semble avoir les choses bien en main. On pourrait donc se dire : Pour utiliser le script de _run_ il faut au préalable avoir installer le script de mr_no. C'est comme une "dépendance" (on connait bien ça nous les linuxiens Razz )
Le problème qui peut exister... René, à toi de me dire si c'est vraiment un problème : actuellement le script d'import AC3D c'est le tiens et tu sais où il se trouve (dans le même dossier) puisque c'est toi qui le fourni. Le problème de laisser l'utilisateur aller chercher lui-même l'import/export AC3D et de l'installer lui-même c'est que tu ne peux pas savoir avec exactitude là où l'utilisateur a installer le script AC3D, du coup ton script ne saura pas où aller chercher le script d'import AC3D. Je me trompe ?
La solution à cela c'est de demander à l'utilisateur de dire où est installer le script d'import/export AC3D de la même façon qu'il faudrait lui demander où est son dossier $FG_ROOT. Cette solution permet de se dire : pour l'import export AC3D on est dépendant de quelqu'un d'autre et donc on doit respecter son système (les objets sont-ils edge-splitter? sont-ils smoother ?) Bref plutot que se dire : bon on smooth et edge-split tout à l'import ou bien on laisse l'utilisateur le faire 1 par 1 si il veut sur les objets ?

Ou alors, on se dit qu'on "suit le standard" : l'ancien script d'import/export AC3D de la version 2.49b et le script d'import/export de mr_no font-ils un smooth et un edge-split à l'import? si oui alors on le fait. Ainsi on ne donne pas le choix à l'utilisateur... mais honnêtement je pense que si on donne trop de choix/fonctionnalité à l'utilisateur il sera perdu ! Moi le premier. Là on dit à l'utilisateur : voilà on va importer tout ce que tu demande en mettant un smooth et un edge-split, ça peut prendre du temps mais c'est comme ça.

Ou encore : on revient "en arrière" et on réactive les options smooth, edge-split et split angle. On peut tout de même garder le edge-split dans le menu FlightGear menu tools, d'ailleurs est-il possible de grisé l'option si jamais l'objet séléctionné est déjà edge-splitter ?

Bon tout compte fait je suis bien partant pour la 3ème solution... ça veut dire qu'on fournit toujours notre propre script d'import/export AC3D.
Qu'en dites-vous ? Et surtout René, qu'en dis-tu ?


Le système "d'active layer" est super, mais tu dis que Blender possède 20 layer, que se passerait-il si jamais on a plus de 20 fichiers XML ? dans ce cas il manquerai des layer :/
Personnellement je trouve que le fonctionnement actuel des layers est très bien : 1 layer avec l'avion + 1 layer avec les armatures

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

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

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  F-JJTH Ven 3 Aoû 2012 - 20:40

J'ai mis à jour mon post "tuto".
Du coup vu que j'essaye de mettre des mots sur les actions en rédigeant ce tuto, je m'aperçois de plusieurs choses, donc j'écris ici les choses que j'ai pu noter histoire de ne pas les perdre.

Dans le menu "File>Import" est-il possible de masquer "FlightGear (.ac)" ? Je pense que l'utilisateur si il veut uniquement travailler en AC3D il ira chercher le script de mr_no et verra "AC3D format (.ac)" si il veut travailler les animations il verra "FlightGear (.xml)". Si il y a en plus "FlightGear (.ac)" l'utilisateur peut avoir un doute sur quel script utiliser pour importer un fichier AC3D. Cependant on garde toujours "notre" version de l'import AC3D c'est juste qu'on le dit pas à l'utilisateur Razz

Concernant les panneaux créer pour FlightGear dans Blender, j'ai l'impression qu'il y a un panneau qui ne sert pas à grand chose puisque le second panneau fait tout ce que le premier panneau fait sauf la sélection/désélection. Je veux parler ici du panneau "FlightGear" situé à gauche de la vue 3D qui ne contient que quelques boutons et du panneau "FlightGear" situé tout en bas de l'onglet "Object" situé sur la droite de la vue 3D. Serait-il possible de faire passer tout ce qui se trouve dans le panneau "FlightGear du l'onglet "Object" à la place du panneau "FlightGear" situé à gauche de la vue 3D en y ajoutant les boutons de sélection/désélection ? Je trouve que le panneau "FlightGear" situé dans l'onglet "Object" n'est pas du tout accessible du faite que : d'une part il faut aller dans l'onglet "Object" et d'autre part il faut descendre tout en bas de l'onglet "Object" pour le voir.
Ainsi on réduit aussi le nombre de "truc" créer pour FlightGear, c'est à dire qu'on a que 2 truc : un menu "raccourcis" avec la touche "f" + un menu FlightGear

Dans le panneau FlightGear de l'onglet "Object" (arrfff c'est pas évident d'avoir 2 panneau FlightGear... faut préciser à chaque fois lequel Razz d'où mon paragraphe précédent Smile ) dans la première section on a ça :

  • Family : nom_de_famille (menu déroulant)
  • Value : nom_de_la_propriété (menu déroulant)
  • Property : chemin_de_la_propriété
  • value : valeur_de_%d_si_existant (slider)


Je propose ceci à la place :

  • Family : nom_de_famille (menu déroulant)
  • Property : chemin_de_la_propriété (menu déroulant)
  • %d : valeur_de_%d_si_existant (slider)

Dans la liste déroulante "Property" les chemin seront du genre : gear/gear[%d]/rollspeed-ms
Une fois le chemin sélectionné, la valeur de %d remplacera directement gear/gear[%d]/rollspeed-ms dans la liste déroulante
Ou alors, si ce n'est pas possible (ce dont je crains), on met par défaut la variable %d = 0, donc dans la liste déroulante TOUS les chemins seront du genre gear/gear[0]/rollspeed-ms et lorsque l'utilisateur change la valeur de %d, la liste déroulante se met à jour et si par exemple l'utilisateur avait mis %d = 2 alors dans la liste déroulante, TOUS les chemins seront du genre gear/gear[2]/rollspeed-ms

Hmmm voilà pour le moment !
Attention ! Je ne dis pas "C'est possible de le faire?" je me sers surtout de ce post comme "aide mémoire", j'ai bien l'intention d'essayer de le faire moi-même. Je ne sais pas encore comment mais ça s'apprend. Et puis ça permet aussi d'avoir vos avis.

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

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

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Ven 3 Aoû 2012 - 20:56

F-JJTH a écrit:Ce que je pense : (je pense pas forcément bien... c'est juste un avis)

Si c'est possible à faire : oublier l'import/export AC3D, mr_no sur le forum US semble avoir les choses bien en main. On pourrait donc se dire : Pour utiliser le script de _run_ il faut au préalable avoir installer le script de mr_no. C'est comme une "dépendance" (on connait bien ça nous les linuxiens Razz )
Le problème qui peut exister... René, à toi de me dire si c'est vraiment un problème : actuellement le script d'import AC3D c'est le tiens et tu sais où il se trouve (dans le même dossier) puisque c'est toi qui le fourni. Le problème de laisser l'utilisateur aller chercher lui-même l'import/export AC3D et de l'installer lui-même c'est que tu ne peux pas savoir avec exactitude là où l'utilisateur a installer le script AC3D, du coup ton script ne saura pas où aller chercher le script d'import AC3D. Je me trompe ?
La solution à cela c'est de demander à l'utilisateur de dire où est installer le script d'import/export AC3D de la même façon qu'il faudrait lui demander où est son dossier $FG_ROOT. Cette solution permet de se dire : pour l'import export AC3D on est dépendant de quelqu'un d'autre et donc on doit respecter son système (les objets sont-ils edge-splitter? sont-ils smoother ?) Bref plutot que se dire : bon on smooth et edge-split tout à l'import ou bien on laisse l'utilisateur le faire 1 par 1 si il veut sur les objets ?

Dans l'état actuel des choses, les scripts ne sont pas compatibles. Je m'explique.
Le script d'import de fichier ac, permet aujourd'hui, d'éviter la duplication des objets lors d' import multiple. Par exemple sur le DR400 deux commandes des gaz sont définis. Mais il y a qu'un seul fichier .ac. Le fichier xml charge une première fois le fichier ac, puis une seconde fois ce même fichier avec un offset différent. Le script dans ce cas, créé deux objets à des offsets différents (bpy.data.objects['Cube'].location) mais les données sont identiques. (bpy.data.objects['Cube'].data==bpy.data.objects['Cube.001'].data). Ainsi si on modifie le maillage sur une commande de gaz, par exemple, la modification est mise à jour dans le deuxième objet. Fait le test en mode edit. C'est pareil pour les pilotes du dc-3, etc....
Cette gestion n'est pas pris en compte dans l'ancien script, et mr_no n'en a pas la nécessité car il ne lit pas de xml.
Ensuite, avec les offsets définis dans le fichier xml, j'ai utiliser toutes les possibilités de blender. J'utilise les extra_position , extra_rotation et extra_scale. Ces possibilités ne sont pas nécessaire lorsque l'on lit uniquement les fichiers .ac
Lorsque j'ai pris contact avec lui, je ne crois pas qu'il a vu toutes les conséquences de la lecture du xml. Cela rend les deux scripts incompatibles, car la gestion est assez différentes. Ce qui est vraiment dommage, c'est qu'a la fin on aura un doublon, où son script sera certainement meilleure pour la lecture des fichiers ac, mais on ne pourra plus faire de "merge". Pire on utilisera les deux scripts, et cela ne sera vraiment pas pratique. Mais c'est comme ça.


F-JJTH a écrit:Ou encore : on revient "en arrière" et on réactive les options smooth, edge-split et split angle. On peut tout de même garder le edge-split dans le menu FlightGear menu tools, d'ailleurs est-il possible de grisé l'option si jamais l'objet séléctionné est déjà edge-splitter ?

Oui je pense comme toi ! Virer l'option et griser edge-split si il y en a un
F-JJTH a écrit:
Le système "d'active layer" est super, mais tu dis que Blender possède 20 layer, que se passerait-il si jamais on a plus de 20 fichiers XML ? dans ce cas il manquerai des layer :/
Personnellement je trouve que le fonctionnement actuel des layers est très bien : 1 layer avec l'avion + 1 layer avec les armatures

Amicalement,
Clément

Le but est de faire des layers tournants par exemple de 1 à 5 pour les objets et 6 à 10 pour les armatures. Evidement les bornes seront definis par l'utilisateur
_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Ven 3 Aoû 2012 - 21:08

F-JJTH a écrit:J'ai mis à jour mon post "tuto".
Du coup vu que j'essaye de mettre des mots sur les actions en rédigeant ce tuto, je m'aperçois de plusieurs choses, donc j'écris ici les choses que j'ai pu noter histoire de ne pas les perdre.
Déplace-le dans le forum tutoriel !! je pense qu'il y sera mieux, en debut de post ...
F-JJTH a écrit:
Dans le menu "File>Import" est-il possible de masquer "FlightGear (.ac)" ? Je pense que l'utilisateur si il veut uniquement travailler en AC3D il ira chercher le script de mr_no et verra "AC3D format (.ac)" si il veut travailler les animations il verra "FlightGear (.xml)". Si il y a en plus "FlightGear (.ac)" l'utilisateur peut avoir un doute sur quel script utiliser pour importer un fichier AC3D. Cependant on garde toujours "notre" version de l'import AC3D c'est juste qu'on le dit pas à l'utilisateur Razz
.

D'accord

F-JJTH a écrit:

  • Family : nom_de_famille (menu déroulant)
  • Property : chemin_de_la_propriété (menu déroulant)
  • %d : valeur_de_%d_si_existant (slider)


Regarde un détail. Lorsque tu chosis dans familly , le choix "custom", alors il faudra renseigner la valeur de property. Exemple une propriété crée dans un fichier nasal, où une propriété oublié. Lorsque familly et Value ont des valeurs alors Property n'est là que pour renseignement, ce n'est pas éditable
A+
_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Ven 3 Aoû 2012 - 21:12

Les onglets sont déplaçables en cliquant et maintenant ici


Script flightgear - Page 8 Onglet10
_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  F-JJTH Sam 4 Aoû 2012 - 1:41

René,

Concernant le script d'import/export AC3D : ok j'ai pigé Wink Effectivement c'est vraiment dommage d'avoir un doublon mais c'est nécessaire car comme tu l'explique ton script est vraiment spécifique. Donc comme tu le dis si bien : Mais c'est comme ça Wink Et ça me va très bien Razz

Concernant les options d'import AC3D : Pour être sûr qu'on dit bien la même chose (je m'y perd un peu... j'apprends lentement Smile ) Je suis POUR :

  • Laisser le choix à l'utilisateur de faire un smooth lors de l'import
  • Laisser le choix à l'utilisateur de faire un edge-split lors de l'import
  • Laisser le choix à l'utilisateur du seuil du angle-split lors de l'import
  • Si l'utilisateur décide de ne pas faire de edge-split lors de l'import il pourra toujours faire un edge-split à l'aide du menu FlightGear tools menu (raccourcis "f"). Dans ce cas comment fait l'utilisateur pour régler le angle-split ?
  • Griser la case "edge-split" du menu FlightGear tools menu si jamais l'objet a déjà subit un edge-split. (comment savoir si l'objet a déjà été edge-splitté ? j'ai regardé dans l'API blender et il ne semble pas y avoir d'outils qui fasse ça Sad )


Concernant les layers : j'ai encore du mal^^ je n'arrive pas à me rendre compte des possibilité offerte par les layers. On en reparlera plus tard c'est pas urgent je pense.

J'ai réussi à cacher l'option "FlightGear (.ac) ! C'est sur le dépôt Wink J'ai aussi fait des modifications mineur qui me semble rendre le script plus "standard" du genre au lieu d'avoir "Options ac" c'est maintenant "Option AC3D". Bref c'est du détail. j'ai vu plusieurs petite chose comme ça par-ci par là. Par exemple dans le menu déroulant qui permet de sélectionner la propriété, actuellement ce menu déroulant s'appelle "Value", je pense que le nom "Node" serait mieux adapter car en Nasal on écrit "getNode()" et "setNode()". Bref ça c'est ce que j'appelle du lexique, ce n'empêche pas le script de fonctionner, mais je veillerai à ce que le lexique couramment utilisé dans FlightGear soit le même dans ce script afin que l'utilisateur s'y retrouve.

[EDIT] Bon j'ai continuer à faire des modifications mineur de lexique dans le but d'homogénéiser la chose. J'ai aussi fait en sorte que la valeur de %d ne puisse pas être négative (à ma connaissance ça n'existe pas dans FG). Si les changements ne te paraissent pas judicieux ou peuvent porter à confusion dis-le moi Wink
Ça y est ! je commence à vraiment mettre les mains dans le cambouis Razz Tout est pushé sur le dépôt Wink
[/EDIT]

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

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

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Sam 4 Aoû 2012 - 15:55

F-JJTH a écrit:Concernant les options d'import AC3D : Pour être sûr qu'on dit bien la même chose (je m'y perd un peu... j'apprends lentement Smile ) Je suis POUR :

Ne te focalise pas la dessus, c'est vraiment secondaire. Dans notre échange d'idée nous avons perdu de vue, qu'il faut considérer que le modélisateur à un but. Faire un avion dans FG de manière aussi précise qu'il le peut. Et qu'il sait ce qu'il fait.
Si il ne sait pas , soit il apprend, soit il échoue. Donc il sait ce qu'il fait.

Le but maintenant est de faire un script qui reste aussi fidèle que possible, entre le rendu blender et le rendu flightgear.
Donc j'ai fait une erreur, je n'aurait pas dû laisser le choix, et j'aurais dû imposer le edge-split. Car c'est le seul moyen d'avoir des rendus similaires. J'ai vu des recopies d'écran sur flightgear.org, où l'on voit que le lissage des objets n'est pas conforme au rendu de flightgear. Je crois mais je n'ai pas regarder en détail, qu'il n'utilise pas le "modifier" "edge-split".

Le but ultime du script est le suivant:
Eviter au maximum le lancement de blender, la sauvegarde de l'avion et le test "in-situ" dans flightgear. Faire gagner du temps au maximun lors de l'élaboration d'un avion. la modélisation est quelque chose de lourd et ardu. Et ces retours entre blender et flightgear sont pénibles.

Maintenant cela n'engage que moi. Mais lorsque je fais des manipulations répétitives, je trouve cela "anti-informatique" Very Happy Very Happy . Informatique viens de la contraction de deux mots, automatique et information, et je déteste les manipulations répétitives. Comme je vois que tu écris des script shell, je pense que tu as le même réflexe que moi. Very Happy Very Happy Very Happy

Je deviens très optimiste sur l'avancement du script, car toi et alexis vous vous y impliqués. Cela me fait plaisir, et je vous dit un grand merci du fond du coeur. A un moment je me suis senti ... un peu seul ... et cela m'encourage à continuer.

A++

P.S. J'ai mis à jour le git pour la gestion des layers.

P.P.S. Pour griser le edge-split je te laisse le faire. Mais je vais t'aider aussi. ui_menu.py contient la définition du menu, et indique à blender quel opérateur doit être appeler. En l'occurrence, bpy.ops.view3d.edge_split. Cet opérateur est défini dans ops.flightgear.py. La fonction poll() de cet opérateur, grise le menu si elle retourne false et inversement l'active si elle retourne true. Donc ici tu fait le test sur l'objet actif ou la sélection, et tu regardes si il y déja un modifier edge-split bpy.data.objects['Cube'].modifiers est la liste des modifiers de l'objet.
_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  F-JJTH Sam 4 Aoû 2012 - 16:12

_run_ a écrit:Comme je vois que tu écris des script shell, je pense que tu as le même réflexe que moi. Very Happy Very Happy Very Happy
Exactement Razz

_run_ a écrit:Je deviens très optimiste sur l'avancement du script, car toi et alexis vous vous y impliqués. Cela me fait plaisir, et je vous dit un grand merci du fond du coeur. A un moment je me suis senti ... un peu seul ... et cela m'encourage à continuer.
Oui je m'en voulais de ne pas m'impliquer plus que ça, mais le mois de Juillet a été un mois chargé pour moi. Maintenant que j'ai plus de temps je saute sur l'occasion pour m'impliquer à fond car j'ai bien vu que tu as créer plus de 98% du script à toi tout seul en fait.

_run_ a écrit:P.P.S. Pour griser le edge-split je te laisse le faire.
Ok je vais voir ça de suite.

Je suis sur Mumble si jamais tu veux discuter Wink

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

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

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  F-JJTH Dim 5 Aoû 2012 - 17:11

Salut,

Le tuto avance : https://equipe-flightgear.forumactif.com/t1019-script-d-animation-blender

J'ai fait des tests concernant la gestion des layers, j'ai donc tout essayé ! Comme ça je sais de quoi je parle Razz Donc j'ai fait :
- Option AC3D > Active layer décoché + Option XML > Active layer décoché = Le script charge les éléments dans les 10 premiers layers
- Option AC3D > Active layer coché + Option XML > Active layer décoché = Le script charge les éléments dans le premier layer
- Option AC3D > Active layer décoché + Option XML > Active layer coché = Le script charge les éléments dans les 10 premiers layers
- Option AC3D > Active layer coché + Option XML > Active layer coché = Le script charge les éléments dans le premier layer

J'ai l'impression que ce comportement c'est pas celui attendu (ou du moins ce n'est pas celui que j'ai compris Razz) Voici donc comment j'avais compris la chose :
- Option AC3D > Active layer décoché + Option XML > Active layer décoché = Choix qui ne doit pas être possible ! Car on va essayé de mettre 1 fichier AC3D par layer ainsi que 1 fichier XML par layer, hors un fichier XML peut inclure plusieurs fichiers AC3D... que va faire le script ??
- Option AC3D > Active layer coché + Option XML > Active layer décoché = Là le script va mettre tous les fichier AC3D inclue par un XML dans un layer, Si plusieurs XML inclus plusieurs fichiers AC3D on aura autant de layer que de fichier XML
- Option AC3D > Active layer décoché + Option XML > Active layer coché =Là le script va mettre chaque fichier AC3D dans un layer sans se préoccuper des XML
- Option AC3D > Active layer coché + Option XML > Active layer coché = Là le script met tout dans 1 seul layer (je préconise que ce soit le choix par défaut Smile )

Ce dont j'en conclu : l'option 1 doit être impossible à faire, l'option 3 et 4 sont équivalentes. Du coup, je pense qu'on peut supprimer l'Option XML > Active layer, et cocher l'Option AC3D > Active layer par défaut, ça sera à l'utilisateur de la décocher si il en a besoin.

Encore une fois c'est ce que j'ai compris... et ce que j'ai compris n'est pas forcément ce qu'il fallait comprendre Mad René, dis moi ce que tu en pense Smile peut-être ai-je besoin d'explications ?

Pour le tuto il me reste a apprendre à créer des animations pour compléter la partie que ça concerne, ainsi que l'utilisation du dépliage X4
Il faudra aussi se pencher sur le script d'export AC3D, René je crois que tu es le seul à pouvoir faire ça :/

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

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

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Dim 5 Aoû 2012 - 19:49

Salut Clément,
Je vais te répondre, en te parlant sur l'utilisation des layers.
Un objet blender (mesh, armature, camera, lumière, ...) appartient au moins à un layer. Ils peuvent être dans plusieurs layers. Par exemple, on pourrait avoir les objets du fuselage dans le layer 1 et 2, et les objets de l'aile dans les layers 1 et 3. En ne visualisant que le layer 1, on visualise tout l'avion. Le layer 2, uniquement le fuselage, et le layer 3 uniquement l'aile. On peut faire toutes sortes de combinaison pour faciliter la sélection. La touche 'a', sélectionne ou annule la sélection sur tous les objets visibles. C'est un peut comme les bureaux multiples de linux, une fois que l'on a compris comment ça marche on ne peut plus s'en passer.
En modélisant le spitfire, j'ai fait un découpage de ce genre , un layer fuselage, un autre aile, un cockpit, un éléments mobiles avions, un éléments mobiles cockpit. Les armatures dans des layers différents, les camera et lampes dans d'autres layers etc .. On fait comme on veut et c'est très personnel. par contre c'est très utile.

L'option Active layer (xml ou ac ). Permet de faire l'import dans le ou les layers actifs au moment du lancement de l'import.
En désactivant cette option les layers tournent entre chaque fichier xml.
Exemple Active layer décoché, Begin = 2 et End = 5.
Au premier xml le layer actif est le layer 2. Au xml suivant c'est le layer 3. Ainsi de suite jusqu'au layer 5. Si il y a encore des fichiers xml on recommence au layer 2.
Et ainsi de suite ..


A+

_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  F-JJTH Mar 7 Aoû 2012 - 13:32

Bonjour à tous,

Ici vous pourrez lire 2 post, l'un de Detlef Faber, et l'autre de mr_no qui trouvent que c'est difficile de faire de bonnes animations... le script d'animation en sera le remède ! Smile
Peut-être même qu'un expert Blender pourrait faire une "vidéo démo" de l'animation d'un bras en fonction de la position de la manette des gaz Smile Ça pourrait faire un beau coup de pub !

http://www.flightgear.org/forums/viewtopic.php?f=18&t=17162&p=163706#p163706

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

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

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Mar 7 Aoû 2012 - 14:26

Salut clement,
Je me propose de refaire l'animation du pilote du DR400 jsbsim.
En faites je vais faire une approche méthodique, pour obtenir des rotations plus "propres"
Et déja je vois des modifications à faire au script.
Je voudrais avoir des rotations uniquement dans certains plans. Je pense que cette approche est beaucoup plus compréhensible.

Script flightgear - Page 8 Pilote10
_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Mer 8 Aoû 2012 - 17:20

Bonjour,

Un premier test sur la main droite du pilote.
Lorsque le tronc du pilote avance, des rotations ont été introduitent sur le bras gauche pour annuler les effets du tronc.
La main droite suit à peu près le manche. C'est à affiner. Pour l'instant je ne push rien sur le dêpot , car il y a encore beaucoup de modifications à faire sur le script. Il a fallut créer des sauvegardes et des restaurations de rotations.

J'ai travaillé de cette manière. Je bloque les rotations pour les ailerons, (sauvegarde et mise à zéro), et je travaille sur les animations de la profondeur. Une fois terminé. Je restaure les ailerons. Je bloque les rotations pour la profondeur, (sauvegarde et mise à zéro), et je travaille sur les ailerons. Puis je restaure la profondeur.
Les axes des rotations sont différents.
Voilà ce que j'obtiens .... bien sûr ... je pense que l'on peut faire mieux. Mais le temps de modélisation est relativement court. C'est encourageant. Ce qui est très long chez moi, c'est que je passe sans arrêt de l'élaboration du script à la modélisation.

Voila le pilot.xml
Pour ceux qui feront le test, n'oubliez pas de sauvegarder l'original, avant de faire le transfert.
Code:
<?xml version="1.0" encoding="UTF-8"?>

<!-- ########################################

 # DR400-jsbSim by PAF team
 # April 2012 : Modified by PAF team
 # http://equipe-flightgear.forumactif.com

##########################################-->

<!-- Centres de rotation
Gauche
   Epaule  0.4114  -0.10914  0.3536
   Coude  0.2271  -0.259    0.1412
   Poignet 0.196  -0.1621  0.1961
   
   Genoux   -0.0413 -0.1076  -0.0271
   Pieds  -0.2769 -0.1210  -0.3484
   Bassin  0.2476  -0.0662  0.3740

Droite
   Epaule  0.4127  0.1275  0.3540
   Coude  0.291  0.2859  0.1418
   Poignet 0.0415  0.1973  0.1961

   Genoux   -0.0413  0.1076  -0.0271
   Pieds  -0.2769  0.1210  -0.3484
   Bassin  0.2476  0.0662  0.3740
   
   tete   0.3791  0        0.3887
-->


<PropertyList>

  <path>general_pilot.ac</path>

  <animation>
    <!-- Objets opaques -->
    <object-name>mainG</object-name>
    <object-name>mainD</object-name>
    <object-name>tete</object-name>
    <object-name>corps</object-name>
    <object-name>brasG</object-name>
    <object-name>brasD</object-name>
    <object-name>avbrasG</object-name>
    <object-name>avbrasD</object-name>
    <object-name>avantbrasG</object-name>
    <object-name>avantbrasD</object-name>
    <object-name>cuisseG</object-name>
    <object-name>cuisseD</object-name>
    <object-name>jambeG</object-name>
    <object-name>jambeD</object-name>
    <object-name>piedG</object-name>
    <object-name>piedD</object-name>


    <!-- Objets transparents -->
  </animation>

  <animation>
    <type>select</type>
    <object-name>tete</object-name>
    <object-name>corps</object-name>
    <object-name>brasG</object-name>
    <object-name>brasD</object-name>
    <object-name>avbrasG</object-name>
    <object-name>avbrasD</object-name>
    <object-name>avantbrasG</object-name>
    <object-name>avantbrasD</object-name>
    <object-name>manche</object-name>
    <object-name>cuisseG</object-name>
    <object-name>cuisseD</object-name>
    <object-name>jambeG</object-name>
    <object-name>jambeD</object-name>
    <object-name>piedG</object-name>
    <object-name>piedD</object-name>
   <object-name>mainG</object-name>
    <object-name>mainD</object-name>
    <condition>
      <or>
   <and>
     <not-equals>
       <property>sim/current-view/view-number</property>
       <value>0</value>
     </not-equals>
     <not-equals>
       <property>sim/current-view/view-number</property>
       <value>12</value>
     </not-equals>
   </and>
        <property>sim/model/config/show-pilot</property>
      </or>
    </condition>
  </animation>

<!-- always hide the pilot's head when you're the pilote -->
  <animation>
    <type>select</type>
    <object-name>tete</object-name>
    <condition>
      <and>
   <not-equals>
     <property>sim/current-view/view-number</property>
     <value>0</value>
   </not-equals>
   <not-equals>
     <property>sim/current-view/view-number</property>
     <value>12</value>
   </not-equals>
      </and>
    </condition>
  </animation>








   <!--

      Script fg2blender v0.1 alpha  (c)paf http://gitorious.org/paf/fg2blender
      http://equipe-flightgear.forumactif.com

-->

   <!--Armature.023-->
   <animation>
      <type>rotate</type>
      <object-name>mainG</object-name>
      <object-name>avbrasG</object-name>
      <object-name>brasG</object-name>
      <object-name>mainD</object-name>
      <object-name>avbrasD</object-name>
      <object-name>brasD</object-name>
      <object-name>tete</object-name>
      <object-name>corps</object-name>
      <property>/controls/flight/aileron</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.3174</x-m>
         <y-m>-0.0001</y-m>
         <z-m>-0.0221</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>0.0000</y>
         <z>1.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>0.0000</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.024-->
   <animation>
      <type>rotate</type>
      <object-name>mainG</object-name>
      <object-name>avbrasG</object-name>
      <object-name>brasG</object-name>
      <object-name>mainD</object-name>
      <object-name>avbrasD</object-name>
      <object-name>brasD</object-name>
      <object-name>tete</object-name>
      <object-name>corps</object-name>
      <property>/controls/flight/elevator</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.3174</x-m>
         <y-m>-0.0001</y-m>
         <z-m>-0.0221</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>1.0000</y>
         <z>0.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>-0.0508</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>-17.2501</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.025-->
   <animation>
      <type>rotate</type>
      <object-name>mainG</object-name>
      <object-name>avbrasG</object-name>
      <object-name>brasG</object-name>
      <property>/controls/flight/aileron</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.4005</x-m>
         <y-m>-0.1152</y-m>
         <z-m>0.3418</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>0.0000</y>
         <z>1.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>0.0000</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.026-->
   <animation>
      <type>rotate</type>
      <object-name>mainG</object-name>
      <object-name>avbrasG</object-name>
      <object-name>brasG</object-name>
      <property>/controls/flight/elevator</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.4005</x-m>
         <y-m>-0.1152</y-m>
         <z-m>0.3418</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>1.0000</y>
         <z>0.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>-0.0169</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>2.9323</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.027-->
   <animation>
      <type>rotate</type>
      <object-name>mainG</object-name>
      <object-name>avbrasG</object-name>
      <property>/controls/flight/aileron</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.2157</x-m>
         <y-m>-0.2546</y-m>
         <z-m>0.1430</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>0.0000</y>
         <z>1.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>0.0000</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.028-->
   <animation>
      <type>rotate</type>
      <object-name>mainG</object-name>
      <object-name>avbrasG</object-name>
      <property>/controls/flight/elevator</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.2157</x-m>
         <y-m>-0.2546</y-m>
         <z-m>0.1430</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>1.0000</y>
         <z>0.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>-0.0169</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>31.9899</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.029-->
   <animation>
      <type>rotate</type>
      <object-name>mainG</object-name>
      <property>/controls/flight/aileron</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.0212</x-m>
         <y-m>-0.2055</y-m>
         <z-m>0.2026</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>0.0000</y>
         <z>1.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>0.0000</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.030-->
   <animation>
      <type>rotate</type>
      <object-name>mainG</object-name>
      <property>/controls/flight/elevator</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.0212</x-m>
         <y-m>-0.2055</y-m>
         <z-m>0.2026</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>1.0000</y>
         <z>0.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>-0.0169</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>-33.0091</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.031-->
   <animation>
      <type>rotate</type>
      <object-name>mainD</object-name>
      <object-name>avbrasD</object-name>
      <object-name>brasD</object-name>
      <property>/controls/flight/aileron</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.4012</x-m>
         <y-m>0.1302</y-m>
         <z-m>0.3419</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>0.0000</y>
         <z>1.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>5.6235</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>-7.7598</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.138-->
   <animation>
      <type>rotate</type>
      <object-name>mainD</object-name>
      <object-name>avbrasD</object-name>
      <object-name>brasD</object-name>
      <property>/controls/flight/aileron</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.4012</x-m>
         <y-m>0.1302</y-m>
         <z-m>0.3419</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>-1.0000</y>
         <z>0.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>-4.6965</dep>
         </entry>
         <entry>
            <ind>-0.0169</ind>
            <dep>0.0000</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.032-->
   <animation>
      <type>rotate</type>
      <object-name>mainD</object-name>
      <object-name>avbrasD</object-name>
      <object-name>brasD</object-name>
      <property>/controls/flight/elevator</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.4012</x-m>
         <y-m>0.1302</y-m>
         <z-m>0.3419</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>1.0000</y>
         <z>0.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>-24.5331</dep>
         </entry>
         <entry>
            <ind>-0.0169</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>28.5580</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.033-->
   <animation>
      <type>rotate</type>
      <object-name>mainD</object-name>
      <object-name>avbrasD</object-name>
      <property>/controls/flight/aileron</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.1463</x-m>
         <y-m>0.1156</y-m>
         <z-m>0.1736</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>0.0000</y>
         <z>1.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>0.0000</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.137-->
   <animation>
      <type>rotate</type>
      <object-name>mainD</object-name>
      <object-name>avbrasD</object-name>
      <property>/controls/flight/aileron</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.1463</x-m>
         <y-m>0.1156</y-m>
         <z-m>0.1736</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>-1.0000</y>
         <z>0.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>21.8262</dep>
         </entry>
         <entry>
            <ind>-0.0169</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>-4.7771</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.034-->
   <animation>
      <type>rotate</type>
      <object-name>mainD</object-name>
      <object-name>avbrasD</object-name>
      <property>/controls/flight/elevator</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.1463</x-m>
         <y-m>0.1156</y-m>
         <z-m>0.1736</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>1.0000</y>
         <z>0.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>44.2933</dep>
         </entry>
         <entry>
            <ind>-0.0169</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>-39.6084</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.035-->
   <animation>
      <type>rotate</type>
      <object-name>mainD</object-name>
      <property>/controls/flight/aileron</property>
      <factor>1.000000</factor>
      <center>
         <x-m>-0.0487</x-m>
         <y-m>0.0436</y-m>
         <z-m>0.1965</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>0.0000</y>
         <z>1.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>0.0000</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.136-->
   <animation>
      <type>rotate</type>
      <object-name>mainD</object-name>
      <property>/controls/flight/aileron</property>
      <factor>1.000000</factor>
      <center>
         <x-m>-0.0487</x-m>
         <y-m>0.0436</y-m>
         <z-m>0.1965</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>-1.0000</y>
         <z>0.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-0.0169</ind>
            <dep>0.0000</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.036-->
   <animation>
      <type>rotate</type>
      <object-name>mainD</object-name>
      <property>/controls/flight/elevator</property>
      <factor>1.000000</factor>
      <center>
         <x-m>-0.0487</x-m>
         <y-m>0.0436</y-m>
         <z-m>0.1965</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>1.0000</y>
         <z>0.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>-0.0169</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>0.0000</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.037-->
   <animation>
      <type>rotate</type>
      <object-name>tete</object-name>
      <property>/controls/flight/aileron</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.3727</x-m>
         <y-m>0.0000</y-m>
         <z-m>0.3905</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>0.0000</y>
         <z>1.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>0.0000</dep>
         </entry>
      </interpolation>
   </animation>
   <!--Armature.038-->
   <animation>
      <type>rotate</type>
      <object-name>tete</object-name>
      <property>/controls/flight/elevator</property>
      <factor>1.000000</factor>
      <center>
         <x-m>0.3727</x-m>
         <y-m>0.0000</y-m>
         <z-m>0.3905</z-m>
      </center>
      <axis>
         <x>0.0000</x>
         <y>1.0000</y>
         <z>0.0000</z>
      </axis>
      <interpolation>
         <entry>
            <ind>-1.0000</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>-0.0169</ind>
            <dep>0.0000</dep>
         </entry>
         <entry>
            <ind>1.0000</ind>
            <dep>18.6565</dep>
         </entry>
      </interpolation>
   </animation>

 </PropertyList>


Il y a encore pas mal de boulot pour le script, toujours à cause des offsets. Mais c'est en bonne voie

A+
_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  F-JJTH Mer 8 Aoû 2012 - 19:51

C'est pas mal du tout ! J'imagine que lorsque les 2 animations se rencontrent (animation elevator + animation aileron) c'est pas facile à gérer ?
Effectivement c'est en faisant des exemples concret qu'on voit ce dont on a besoin dans le script.

Je vais bientôt continuer le tuto avec la partie "Créer des animations"

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

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

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  _run_ Mer 8 Aoû 2012 - 21:32

F-JJTH a écrit:C'est en faisant des exemples concret qu'on voit ce dont on a besoin dans le script.

Tout à fait d'accord, c'est pour cela que je voulais passer à l'étape suivant la création d'un avion. Cela va transformer profondément le script. Et à partir de là on pourra publier quelque chose sur flightgear.org.
J'attends avec impatience , l'arrivée de l'hélico.

A+
_run_
_run_
Le baron rouge

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

Revenir en haut Aller en bas

Script flightgear - Page 8 Empty Re: Script flightgear

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 8 sur 17 Précédent  1 ... 5 ... 7, 8, 9 ... 12 ... 17  Suivant

Revenir en haut

- Sujets similaires

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