#1 [↑][↓] 13-03-2012 11:13:03

Lagaffe
Membre
Lieu : LFPO / retraité
Inscription : 13-03-2008

[FS9] Conseils pour la création de jauges 3D pour FS2004

Lors de mon premier post sur les jauges 3D, j'avais aussi en tête d'aborder FS2004. David n'ayant que FSX, la partie FSX a été traitée en premier par lui et je vous présente la partie FS2004 ou du moins les grandes différences ...

[Aparté]
Comme as pu le dire Bill alias "Lionheart", je préfère nettement créer des avions pour FS2004 car même si cela paraît conservateur ou d'arrière-garde la création d'avion pour FSX est plus difficile que pour FS2004 et qu'il y a beaucoup de bugs dans les outils associés à cette version. Je comprends que l'aspect visuel d'un avion sous FSX soit meilleur que sous son petit frère mais l'investissement est aussi bigrement plus important.
[/Aparté]

Abordons l'aspect construction de jauges sous FS2004.
Celles-ci sont beaucoup plus simple à concevoir car FS2004 bénéficie d'une fonction que MS a retiré du moteur de FSX et qui est la rotation automatique des pièces, je m'explique: toutes les pièces animées sous FSX doivent l'être par animation de l'auteur, rien n'est automatique alors que sous FS2004 via les "tags" vous pouvez animer un certain nombre de pièces.

Les jauges 3D peuvent être rajoutées à FS par le biais d'animations réalisées sous Gmax et par l'adjonction de code XML à rajouter dans le fichier qui est lu par le compilateur lors de la création du MDL. Les fichiers incriminés sont :

FS2004: ...\Gmax\gamepacks\FS2004\plugins\MakeMDL.parts.xml
FSX: ...\Gmax\gamepacks\FSX_GmaxGamePack\plugins\modeldef.xml

Ces fichiers se trouvent dans les répertoires relatifs aux gamepack de chaque simu installé dans le répertoire d'installation de GMax.
Lisez bien ces fichiers : ils sont la Bible en la matière et le SDK de FSX pour cet opus car pour FS2004, il n'existe pratiquement rien sauf le Net cepopossible_gif

Étudions deux exemples de scripts qui font la même chose.
Ainsi pour animer une jauge 3D, David nous l'a montré dans son tutoriel vidéo, il faut :
- créer le cadran,
- créer l'aiguille
- définir certain nombre de "keys" pour spécifier à FSX comment l'aiguille va se comporter.
C'est ce que l'on appelle dans les forums anglo-saxon "animation key-driven".
Ensuite définir un GUID et écrire du code (je ne reviens pas sur ces points très bien expliqués par David).
En termes de lignes de code à rajouter au modeldef.xml (mis à part le GUID) on a :

FSX :

<PartInfo>
     <Name>compass_dial_mk5</Name>
     <AnimLength>360</AnimLength>
     <Animation>
     <Parameter>
          <Sim>
            <Variable>PLANE HEADING DEGREES GYRO</Variable>
              <Units>degrees</Units>
              <Scale>1</Scale>
              <MinValue>0</MinValue>
              <MaxValue>360</MaxValue>
          </Sim>
     </Parameter>
     </Animation>
</PartInfo>

Sous FS2004, cela se résume à :
- créer le cadran
- créer l'aiguille
- définir 2 "keys" une pour la position initiale et une autre pour la butée à la valeur max
- utiliser la séquence <rotation>Z</rotation> dans le code relatif à la jauge ...
... et c'est FS2004 qui se charge de tout le reste ! Il n'y a pas de GUID ni autre chose à rajouter dans le MakeMDL.parts.xml

FS2004:

<part>
     <name>compass_dial_mk5</name>
     <animation>
         <rotation>Z</rotation>
         <parameter>
              <code>
                  (A: PLANE HEADING DEGREES GYRO, radian)
             </code>
           <lag>400</lag>
         </parameter>
     </animation>
</part>

L'axe de rotation défini ici est Z  ... pourquoi ? Parce que ce compas est horizontal. Ah, mais encore ...
Sous Gmax, vous disposez de 3 axes : X, Y et Z. Un avion sous Gmax a son nez qui point dans la direction Y et l'axe Z est vertical. ors ce compas doit être positionné à l'horizontal dans le cockpit donc quand l'aiguille tourne ... elle le fait par rapport à un axe de rotation vertical soit Z.

Si l'on prend un indicateur de tours moteur, ce dernier est très souvent vertical donc son axe de rotation doit être l'axe Y comme dans le code ci-dessous:

<part>
    <name>rpmneedle</name>
      <animation>
         <rotation>Y</rotation>
         <parameter>
            <code>(A:ENG1 N1 RPM,Percent) 100 % </code>
         </parameter>
         <lag>100</lag>
      </animation>
</part>

Quelques explications sur le code utilisé pour FS2004 (valables dans les grandes lignes pour FSX):

<part> défini le début du codage de la jauge, </part> ferme le bout de code de cette jauge

<name>rpmneedle</name> définit le nom de la pièce animée qui ensuite devra être repris sous Gmax pour définir la pièce animée, si il y en a plusieurs il faudra les nommer dans Gmax en les préfixant par *_01, *_02, etc

<animation> définit le tag à partir duquel l'animation est définie jusqu'à </animation>

<parameter> défini les action que FS doit exécuter ou calculer jusqu'à </parameter>

<code> ... </code> c'est ici que l'âme de la jauge est définie, le langage utilisé est presque le même que celui utilisé pour la programmation des jauges 2D. Je vous renvoie à la lecture du document de Stéphane LAVERGNE sur les jauges en XML - version 1.1 en PDF et en français de surcroît -

<lag> 100 </lag> spécifie le rapidité de la jauge, un petit nombre vaut pour une jauge lente ...

Il existe d'autres balises que je n'ai pas utilisé comme :

<mouserect> pour définir une zone d'action où le click de la souris interagit avec FS
<tooltip_text> pour afficher du texte en popup lors du passage de la souris
<callback_code> pour définir du code qui sera exécuter lors du click souris sur la zone <mouserect>

Cette dernière instruction permet d'incrémenter ou de décrémente des compteurs qui peuvent être utiliser dans la partie <code>. Par exemple, sur un click souris rendre visible ou invisible les lunettes du pilote laugh
Pour l'utilisation de ces tags, lisez le doc de S. LAVERGNE qui est très bien rédigé.

Et voici ce que cela donne en 15 minutes, montre en mains: on lance Gmax et on crée deux plans suffisament grands pour qu'ils soient visibles dans FS9 sans les chercher pendant 2 heures (50mx50m et 60mx5m) le tout dans le plan {X;Z}
sous Gmax ...
[img align=c]http://img809.imageshack.us/img809/1134/testsgmax.jpg[/img]
vous noterez sur l'axe d'animation les keys en 0 et en 100 et surtour l'axe Y sur lequel la rotation automatique est effectuée ainsi que le positionnement de mon "aiguille."

puis sous FS2004 ...
[img align=c]http://img823.imageshack.us/img823/33/testsay.jpg[/img]

En termes de différences entre les deux simulateurs, vous noterez des balises qui changent légèrement <part> pour <Partinfo> et l'utilisation de capitales pour FSX alors que sous FS2004 elles ne sont pas utilisées. La lecture des fichiers  MakeMdl.parts.xml et Modeldef.xml est très instructive et vous apprendrez les différences de codage utilisées.

Références:
http://virtual.stephane.free.fr/gaugesxml/gauges_xml_v1_1.pdf le doc dont je vous parlais plus haut

http://www.fs2x.com/Tutorials.htm très bon site en anglais sur la programmation de jauges en XML mais qui donne entre autres les listes des variables utilisables dans vos codes XML de manière à interagir avec le simulateur

TRUC IMPORTANT:
Si vous ne voulez pas passer des heures à comprendre pourquoi cela marchait avant et plus après ... prenez l'habitude de valider votre code après toute modification dans MakeMdl.parts.xml ou modeldef.xml ...
Je m'explique: faites des sauvegardes de ces fichiers tout d'abord, puis ajouter vos quelques lignes de codes et enfin double cliquer sur ce fichier xml pour l'ouvrir avec IE ... s'il y a une erreur de syntaxe, IE vous l'affichera et vous ne perdrez pas 1 journée comme moi en pure perte angryfire_b1_d_gif


@+ Didier
mini-Logo-Beaver-small.jpg
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B

Hors ligne

#2 [↑][↓] 14-03-2012 10:28:47

Lagaffe
Membre
Lieu : LFPO / retraité
Inscription : 13-03-2008

Re : [FS9] Conseils pour la création de jauges 3D pour FS2004

Bon ... cela n'a pas l'air de passionner les foules: tout le monde se serait mis à FSX ?


@+ Didier
mini-Logo-Beaver-small.jpg
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B

Hors ligne

#3 [↑][↓] 14-03-2012 14:50:04

Manolodobrazil
Membre
Lieu : Chamonix Mont Blanc(74)
Inscription : 29-01-2009
Renommée :   17 
Site Web

Re : [FS9] Conseils pour la création de jauges 3D pour FS2004

Tu sait Didier ,c'est  restreint le club des créateurs de machine volantes.
Mais c'est toujours très intéressant d'avoir des personnes comme toi qui partage leurs savoir.=W

Hors ligne

#4 [↑][↓] 14-03-2012 21:52:58

Lagaffe
Membre
Lieu : LFPO / retraité
Inscription : 13-03-2008

Re : [FS9] Conseils pour la création de jauges 3D pour FS2004

Merci Manolo, tu me rassures wink


@+ Didier
mini-Logo-Beaver-small.jpg
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B

Hors ligne

#5 [↑][↓] 01-10-2013 10:11:26

jandj
Membre
Lieu : LFRS/ 85 Printemps
Inscription : 15-02-2012

Re : [FS9] Conseils pour la création de jauges 3D pour FS2004

bonjour, je plonge dans les animations (mongolfière oblige)
Tout le monde ne s'est pad mis à FSX.
DE Manolo; Re: [FS9] Conseils pour la création de jauges 3D pour FS2004  Tu sait Didier ,c'est  restreint le club des créateurs de machine volantes.
Mais c'est toujours très intéressant d'avoir des personnes comme toi qui partage leurs savoir.

--------------------------------------------------------------------------------
@Manolo, il est ou ce tuto sur les ani's ?( je sens que le coup aux fesses vas arriver!) w00t

Amitiés   jandj


laugh+            Bienheureux les fêlés …  car ils laissent passer la lumière !         bluef
De Philip Geluck: "Etre vieux, c'est etre jeune plus longtemps que les autres!"  (à méditer!)

Hors ligne

#6 [↑][↓] 01-10-2013 11:49:23

Lagaffe
Membre
Lieu : LFPO / retraité
Inscription : 13-03-2008

Re : [FS9] Conseils pour la création de jauges 3D pour FS2004

Euh ... as-tu lu mon post en début de cette discussion car j'aborde justement le problème en faisant le parallèle FS9/FSX ?
Sinon tu peux aussi consulter ces 2 liens:
- http://www.pilote-virtuel.com/viewtopic.php?id=41117
- http://www.pilote-virtuel.com/viewtopic.php?id=36834


@+ Didier
mini-Logo-Beaver-small.jpg
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B

Hors ligne

#7 [↑][↓] 01-10-2013 15:48:56

Manolodobrazil
Membre
Lieu : Chamonix Mont Blanc(74)
Inscription : 29-01-2009
Renommée :   17 
Site Web

Re : [FS9] Conseils pour la création de jauges 3D pour FS2004

@Manolo, il est ou ce tuto sur les ani's ?( je sens que le coup aux fesses vas arriver!) w00t

Amitiés   jandj

Salut Jandj ,je n'ai pas saisi ta question ?
sinon mes tutos sont accessibles via le liens "site web" sous mon avatar.

Hors ligne

#8 [↑][↓] 01-10-2013 19:59:14

jandj
Membre
Lieu : LFRS/ 85 Printemps
Inscription : 15-02-2012

Re : [FS9] Conseils pour la création de jauges 3D pour FS2004

Bonsoir Lagaffe,
Bonsoir Manolodobrazil,
@Lagaffe, j’ai bien sur ton Post  sous les yeux
Je recherche dans mon ordi (lequel revient de chez Docteur micro pour grosse fièvre) et je ne trouve pas de : « Make MDL.parts.xml » 
.Ecrire du code, pas de problème(j’ai pratiqué PASCAL et PLM86 quand je testais les missiles Exocet) et puis définir un GUID ?, il me manque la marche à suivre !
Pour le tuto de David (tuto vidéo) faut-il Youtube ?, il est ou ce tuto ?

@Manolodobrazil  OH !! Docteur GMAX’s (quelle surprise pour moi !) dommage au début (il y a déjà 14 mois) je ne pouvais déjà  pas les voir ! du coup je suis passé a un autre programme de modélisation.  Je n’utilise pas Gmax  mais Abacus.
Je ne suis pas un vieux briscard sur PV! on ne peut pas tout savoir et c'est dommage.
Bon ,assez pleurniché il est tard.
Merci à vous de m’avoir répondu.(Soyez assurés que votre aide m'est précieuse)
Cordialement   jandj

Dernière modification par jandj (01-10-2013 20:05:32)


laugh+            Bienheureux les fêlés …  car ils laissent passer la lumière !         bluef
De Philip Geluck: "Etre vieux, c'est etre jeune plus longtemps que les autres!"  (à méditer!)

Hors ligne

#9 [↑][↓] 01-10-2013 20:15:26

Lagaffe
Membre
Lieu : LFPO / retraité
Inscription : 13-03-2008

Re : [FS9] Conseils pour la création de jauges 3D pour FS2004

Bon, puisque tu poses 2 quesions précise voyons les réponses:
MakeMDL.parts.xml: ce fichier est celui pour les animations sur FS9. Il se trouve dans le SDK de FS9 (MakeMDK_SDK.zip)

Dans le post sur le NC858S, j'avais donné cela:
GamePack FS2004 pour GMAX: http://www.fsdeveloper.com/forum/downloads.php?do=file&id=32

Make Model: http://download.Microsoft.com/download/1/1/8/1181a250-ac2c-43FA-b35b-bfd7b87934ad/makemdl_sdk_setup.exe

Définir un GUID
: pour FS9, ce n'est pas nécessaire. Par contre pour FSX, tous les animations sont différenciées les unes des autres par ce biais mais le SDK de FSX en a un. Si j'ai bien compris tu te limite à FS9 donc de GUID point n'est besoin actuellement.

Pour les scripts XML, la programmation n'est pas très compliqué à part qu'il faut utiliser une notation polonaise inversée pour les calculs (celui de ma HP25 .... à ça c'était une bonne calculette).
Pour cet aspect, j'ai lu, lu, et encore lu pas mal d'exemples trouvés sur ce forum Anglais: http://www.fsdeveloper.com/forum/forumdisplay.php?f=64
A force de lire, on apprend la tournure d'esprit pour se faire ses propres codes. i tu veux des exemples commentés, j'ai ai une belle bibliothèque qu'il me faut trier et ranger car je comptais en faire bénéficier le plus grand nombre via French-VFR rubrique KB ... je manque de temps pour l'instant.

En espérant avoir répondu à tes 2 questions ...


@+ Didier
mini-Logo-Beaver-small.jpg
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B

Hors ligne

#10 [↑][↓] 02-10-2013 06:18:04

jandj
Membre
Lieu : LFRS/ 85 Printemps
Inscription : 15-02-2012

Re : [FS9] Conseils pour la création de jauges 3D pour FS2004

Bonjour,
Tu as biensur répondu à mes questions,je pense que tout s'embrouille en ce moment,les fichiers que je récupère ici et là,l'ordi qui fait des siennes!  il me faut prendre un peu de recul et mettre de l'ordre dans tout ça.
Quand à la bibli de codes ,je suis impatient de la consulter!=V
bonne journée à vous tous.   jandj


laugh+            Bienheureux les fêlés …  car ils laissent passer la lumière !         bluef
De Philip Geluck: "Etre vieux, c'est etre jeune plus longtemps que les autres!"  (à méditer!)

Hors ligne

Pied de page des forums