#1 [↑][↓]  04-11-2021 18:26:10

faf010
Copilote
Lieu: LFQE Etain
Date d'inscription: 30-05-2008
Renommée :   42 
Site web

[MSFS] Altitude radio - code XML

Salut

J'en appelle aux programmeurs ... je souhaiterais connaitre le code à mettre dans le XML pour avoir en fonction l'altitude en fonction du sol .. j'ai tenté cela ..

<Animation guid="982ef8e1-3eb4-4df8-9dfa-4546f7c0d871" length="500" name="needle_altitude" type="Sim" typeParam="AutoPlay" typeParam2="needle_altitude"/>
        <PartInfo>
            <Name>needle_altitude</Name>
            <AnimLength>500</AnimLength>
            <Animation>
                <Parameter>
                    <Code>(A:INDICATED ALTITUDE, meters)</Code>
                </Parameter>
            </Animation>
        </PartInfo>


Mais non ..

Merci pour votre aide

Alex

Hors ligne

 

#2 [↑][↓]  04-11-2021 18:56:21

D5Turbi
Commandant de bord
Lieu: BA 103 - Classe 69/4
Date d'inscription: 14-12-2014
Renommée :   10 

Re: [MSFS] Altitude radio - code XML

Bonsoir,
Tu as fait ton code pour quelle aiguille ?
Celle des centaines, des milliers ou de dizaines de milliers de mètres ?
Et pour quelle raison tu as créé une animation en 500 frames ?


MSI B250M Mortar, I7-7700K, 16Go 2400MHz, MSI RTX 4060 Ti 8Go, be quiet! Dark Rock TF, SSD Samsung 850 EVO, DD WD 1To, Oculus rift
http://www.pilote-virtuel.com/img/members/9921/RFN.jpg  http://www.pilote-virtuel.com/img/members/9921/BA103.jpg http://www.pilote-virtuel.com/img/members/9921/RVT.jpg http://www.pilote-virtuel.com/img/members/9921/Turbi.jpeg

Hors ligne

 

#3 [↑][↓]  04-11-2021 19:05:56

Lagaffe
Pilote Virtuel
Membre donateur
Lieu: LFPO / retraité
Date d'inscription: 13-03-2008
Site web

Re: [MSFS] Altitude radio - code XML

Très simple:
Tu télécharges le Ménestrel HN-433 et tu regardes les codes associés aux aiguilles de l'altimètre.

Pourquoi se casser la tête à pondre des codes XML pour des animations classiques sans valeur ajoutée ?
Un animation d'aiguille qui doit faire un tour entier de cadran devrait normalement se coder sur 100 ou 360 frames le cas échéant.


@+ Didier
http://www.pilote-virtuel.com/img/members/53/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/membe … ages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B

Hors ligne

 

#4 [↑][↓]  04-11-2021 20:10:22

bede40
Commandant de bord
Lieu: Entre les deux oreilles
Date d'inscription: 28-02-2012
Renommée :   80 

Re: [MSFS] Altitude radio - code XML

Si je comprends bien la question

je souhaiterais connaitre le code à mettre dans le XML pour avoir l'altitude en fonction du sol

Nous avions ceci sous FsX, soit la distance avion/sol :

<Animation name="needle_radio_height" guid="910A4D4E-1DC8-4d7b-BC20-153E7FF4A121" length="360" type="Sim" typeParam2="needle_radio_height" typeParam="AutoPlay" />
<PartInfo>
    <Name>needle_radio_height</Name>
    <AnimLength>360</AnimLength>
    <Animation>
      <Parameter>
        <Code>
          (A:Radio Height, feet)
        </Code>
      </Parameter>
    </Animation>
  </PartInfo>

Valable pour un instrument à une seule aiguille (radio-altimètre), la valeur max et l'échelle des graduations étant fixés en fonction des besoins.
Maintenant rien n'empêche de créer plusieurs aiguilles.

Dernière modification par bede40 (04-11-2021 23:34:20)


Blédina: "Essayer c'est grandir"

Hors ligne

 

#5 [↑][↓]  04-11-2021 20:43:51

faf010
Copilote
Lieu: LFQE Etain
Date d'inscription: 30-05-2008
Renommée :   42 
Site web

Re: [MSFS] Altitude radio - code XML

Hello

merci pour vos réponses. Pour ce qui est de l'altitude cela est OK et cela fonctionne

Mais là en effet je cherche la hauteur par rapport au sol , le terme est mieux ... je me suis trompé tout à l'heure .

j'ai bien essayé le code de Bédé mais cela ne prend pas ...

Dans le SDK de FS2020 je ne vois pas de Needle-radio-height

Merci

Alex

Hors ligne

 

#6 [↑][↓]  04-11-2021 21:13:38

Lagaffe
Pilote Virtuel
Membre donateur
Lieu: LFPO / retraité
Date d'inscription: 13-03-2008
Site web

Re: [MSFS] Altitude radio - code XML

Dans l'exemple donné par Bernard, Needle-radio-height est une variable locale (L:) donc elle n'est pas dans le SDK mais elle peut être calculée via le biais d'autres variables standard (A:).
Désolé mais je suis à plus de 6 000 km de mon PC et il m'est difficile d'aller plus loin wacko


@+ Didier
http://www.pilote-virtuel.com/img/members/53/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/membe … ages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B

Hors ligne

 

#7 [↑][↓]  04-11-2021 21:40:28

faf010
Copilote
Lieu: LFQE Etain
Date d'inscription: 30-05-2008
Renommée :   42 
Site web

Re: [MSFS] Altitude radio - code XML

laughlaugh Merci pour tes infos Didier

Je viens d'apprendre quelque chose sur les "A" et "L" ,

Apres en effet il y a souvent des trucs écris derrière le code : <Code>(A:INDICATED ALTITUDE, meters) XXXXXXXXXXXX </Code> c'est cela les calcules ?

Alex

Hors ligne

 

#8 [↑][↓]  04-11-2021 23:45:50

bede40
Commandant de bord
Lieu: Entre les deux oreilles
Date d'inscription: 28-02-2012
Renommée :   80 

Re: [MSFS] Altitude radio - code XML

Désolé, j'ai corrigé le texte de l'animation. La variable "A:Radio Height, feet" existe bien.

Exemple MSFS:

<!-- Radio Height Needle -->
        <UseTemplate Name="ASOBO_GT_Needle_Code">
          <ANIM_NAME>INSTRUMENT_Needle_Radio_Height</ANIM_NAME>
          <SIMVAR>RADIO HEIGHT</SIMVAR>
          <UNITS>Feet</UNITS>
          <!-- <Script>(P:Units of measure, enum) 2 == if{ (A:RADIO HEIGHT, meters) } els{ (A:RADIO HEIGHT, feet) }</Script> -->
          <MIN_VALUE>0</MIN_VALUE>
          <MAX_VALUE>3000</MAX_VALUE>
          <NODE_ID>INSTRUMENT_Needle_Radio_Height</NODE_ID>
          <!-- <HIGHLIGHT_NODE_ID>INSTRUMENT_Radio_Height</HIGHLIGHT_NODE_ID> -->
          <OVERRIDE_ANIM_CODE>
              (A:RADIO Height, feet) s0 3000 &lt;
              if{
              l0 500 &lt;
              if{ (A:RADIO Height, feet) 10 / }
              els{ (A:RADIO Height, feet) 500 / 10 * 40 + }
              }
          </OVERRIDE_ANIM_CODE>
        </UseTemplate>


Blédina: "Essayer c'est grandir"

Hors ligne

 

#9 [↑][↓]  05-11-2021 18:28:56

faf010
Copilote
Lieu: LFQE Etain
Date d'inscription: 30-05-2008
Renommée :   42 
Site web

Re: [MSFS] Altitude radio - code XML

hello Bernard, j'ai essayé d'introduire ton code là dedans mais cela ne fonctionne pas ...

<Animation name="needle_radio_height" guid="d179450e-1a02-4a51-a7fe-057dbab657c5" length="500" type="Sim" typeParam2="needle_radio_height" typeParam="AutoPlay" />
    <!-- Radio Height Needle -->
        <UseTemplate Name="ASOBO_GT_Needle_Code">
          <ANIM_NAME>INSTRUMENT_Needle_Radio_Height</ANIM_NAME>
          <SIMVAR>RADIO HEIGHT</SIMVAR>
          <UNITS>Feet</UNITS>
          <!-- <Script>(P:Units of measure, enum) 2 == if{ (A:RADIO HEIGHT, meters) } els{ (A:RADIO HEIGHT, feet) }</Script> -->
          <MIN_VALUE>0</MIN_VALUE>
          <MAX_VALUE>3000</MAX_VALUE>
          <NODE_ID>INSTRUMENT_Needle_Radio_Height</NODE_ID>
          <!-- <HIGHLIGHT_NODE_ID>INSTRUMENT_Radio_Height</HIGHLIGHT_NODE_ID> -->
          <OVERRIDE_ANIM_CODE>
              (A:RADIO Height, feet) s0 3000 &lt;
              if{
              l0 500 &lt;
              if{ (A:RADIO Height, feet) 10 / }
              els{ (A:RADIO Height, feet) 500 / 10 * 40 + }
              }
          </OVERRIDE_ANIM_CODE>
        </UseTemplate>


je pense que j'ai pas fait ce quil fallait

Alex

Hors ligne

 

#10 [↑][↓]  05-11-2021 19:14:34

Woodstock
Pilote confirmé
Date d'inscription: 15-03-2014

Re: [MSFS] Altitude radio - code XML

Bonjour,

Honnêtement je pense qu'une relecture complète du SDK te serait bénéfique et sans aucune arrière pensée de ma part.
Je m'explique :
- ce que t'a donné Bernard est un exemple de ModelBehaviour
- les deux premières lignes que tu as utilisé en plus de son code sont des lignes XML pour un Legacy code

En deux mots, tu as mélangé dees codes XML Legacy avec des informations de ModelBehaviours donc forcément cela ne peut pas fonctionner ensemble du moins comme tu l'as écris.

Si tu veux utiliser des instruction Legacy et du Model behaviour il faut respecter la syntaxe décrite dans le SDK:
De mémoire, parce que je ne suis pas devant mon PC de simu, cela doit se décomposer tel que:

<Modelinfo>

..... declaration du fichier GlTF

<Animation name="xxxx" guid="d179450e-1a02-4a51-a7fe-057dbab657c5" length="500" type="Sim" typeParam2="xxxx" typeParam="AutoPlay" />
        <PartInfo>
            <Name>xxxxn</Name>
            <AnimLength>50</AnimLength>
            <Animation>
                <Parameter>
                    <Code>
                    (L:MYVAR, bool) 50 *
                </Code>
                    <Lag>400</Lag>
                </Parameter>
            </Animation>
            <MouseRect>
                <Cursor>Hand</Cursor>
                <TooltipText>Myvar display On</TooltipText>
                <CallbackCode>
                (L:MYVAR, bool) 0 == if{ (L:MYVAR, bool) ! (&gt;L:MYVAR, bool) }
            </CallbackCode>
            </MouseRect>
        </PartInfo>


<Behaviors>

        <UseTemplate Name="ASOBO_GT_Needle_Code">
          <ANIM_NAME>INSTRUMENT_Needle_Radio_Height</ANIM_NAME>
          <SIMVAR>RADIO HEIGHT</SIMVAR>
          <UNITS>Feet</UNITS>

          <MIN_VALUE>0</MIN_VALUE>
          <MAX_VALUE>3000</MAX_VALUE>
          <NODE_ID>INSTRUMENT_Needle_Radio_Height</NODE_ID>

          <OVERRIDE_ANIM_CODE>
              (A:RADIO Height, feet) s0 3000 &lt;
              if{
              l0 500 &lt;
              if{ (A:RADIO Height, feet) 10 / }
              els{ (A:RADIO Height, feet) 500 / 10 * 40 + }
              }
          </OVERRIDE_ANIM_CODE>
        </UseTemplate>

</Behaviors>


</Modelinfo>

Le code Legacy est en haut dans les balise modelinfo, le code Modelbehaviors est en gras dans les balises actuelles préconisées par Asobo (les balises ModelBehaviors sont deprecated)

Dernière modification par Woodstock (05-11-2021 19:19:36)


@+ Didier

Amicalement,
La connaissance ne sert, que si elle est partagée !

Hors ligne

 

#11 [↑][↓]  06-11-2021 08:42:08

faf010
Copilote
Lieu: LFQE Etain
Date d'inscription: 30-05-2008
Renommée :   42 
Site web

Re: [MSFS] Altitude radio - code XML

Merci pour tes précisions , oui j'en étais sur que j'avais mélangé le truc .

je vais en effet voir à lire le SDK pour essayer de comprendre la philosophie de la construction .

Pour ces choses comme cela :

<OVERRIDE_ANIM_CODE>
              (A:RADIO Height, feet) s0 3000 &lt;
              if{
              l0 500 &lt;
              if{ (A:RADIO Height, feet) 10 / }
              els{ (A:RADIO Height, feet) 500 / 10 * 40 + }

c'est expliqué aussi , ou là c'est une autre base de programmation ?

Merci

Alex

Dernière modification par faf010 (06-11-2021 08:43:28)

Hors ligne

 

#12 [↑][↓]  06-11-2021 14:59:05

bede40
Commandant de bord
Lieu: Entre les deux oreilles
Date d'inscription: 28-02-2012
Renommée :   80 

Re: [MSFS] Altitude radio - code XML

https://i.postimg.cc/Wpf0t8DB/GAUGE-03.jpg

Bien que ne perdant pas de temps à développer pour MSFS suite à ses mouvances chroniques, je veux bien décortiquer leur prose imposée.

D'abord il faut savoir que toutes les animations ASOBO en translation ou rotation sont basées sur 100 frames et pas autre chose, donc de 0 à 100 frames.

Si une animation est créée en mode LEGACY (animation FsX) sur 150 frames, ASOBO la convertit sur 100 frames lors de la compilation.

Dans le cas présent:

La rotation max correspond à 100 frames soit de 0 à 3000 feet.

De 0 à 50 nous affichons  la valeur réelle de la hauteur au-dessus du sol.

De 50 à 100 nous affichons la valeur mise à l'échelle de la hauteur au-dessus du sol avec un maximum affichable de 3000 feet (aiguille bloquée à 3000 feet).

A savoir que &lt; correspond au signe < (inférieur à)

(A:RADIO Height, feet) s0 3000 &lt; la hauteur est-elle inférieure à 3000 feet ?

si oui
l0 500 &lt; la hauteur est-elle inférieure à 500 feet ?

si oui
(A:RADIO Height, feet) 10 / la rotation de l'aiguille varie directement de 0 à 50 frames grâce à la division par 10

si non
(A:RADIO Height, feet) 500 / 10 * 40 + la rotation de l'aiguille varie de 50 à 100 frames avec mise à l'échelle (500 / 10 *) et recalage de la rotation de l'aiguille (40 +) pour aller au-delà de 50

.


Blédina: "Essayer c'est grandir"

Hors ligne

 

#13 [↑][↓]  06-11-2021 18:36:01

faf010
Copilote
Lieu: LFQE Etain
Date d'inscription: 30-05-2008
Renommée :   42 
Site web

Re: [MSFS] Altitude radio - code XML

blinkeusa_clapeusa_clapeusa_clapeusa_clap Merci pour toutes ces explications et traductions !!!!

Donc dans mon cas il faut que je remette une anim a 100 et non à 500 ?

<Animation name="needle_radio_height" guid="d179450e-1a02-4a51-a7fe-057dbab657c5" length="500" type="Sim" typeParam2="needle_radio_height" typeParam="AutoPlay" />
        <PartInfo>
            <Name>needle_radio_height</Name>
            <AnimLength>500</AnimLength>
            <Animation>
                <Parameter>
                    <Code>(A:INDICATED ALTITUDE, feet) 10 / 100 % </Code>
                </Parameter>
            </Animation>
        </PartInfo>
<Behaviors>
        <UseTemplate Name="ASOBO_GT_Needle_Code">
          <ANIM_NAME>INSTRUMENT_Needle_Radio_Height</ANIM_NAME>
          <SIMVAR>RADIO HEIGHT</SIMVAR>
          <UNITS>Feet</UNITS>

          <MIN_VALUE>0</MIN_VALUE>
          <MAX_VALUE>3000</MAX_VALUE>
          <NODE_ID>INSTRUMENT_Needle_Radio_Height</NODE_ID>

          <OVERRIDE_ANIM_CODE>
              (A:RADIO Height, feet) s0 3000 &lt;
              if{
              l0 500 &lt;
              if{ (A:RADIO Height, feet) 10 / }
              els{ (A:RADIO Height, feet) 500 / 10 * 40 + }
              }
          </OVERRIDE_ANIM_CODE>
        </UseTemplate>

Dernière modification par faf010 (06-11-2021 18:39:41)

Hors ligne

 

#14 [↑][↓]  06-11-2021 20:10:03

Woodstock
Pilote confirmé
Date d'inscription: 15-03-2014

Re: [MSFS] Altitude radio - code XML

Non, tu n’as pas lu le SDK et tu fais une grossière erreur.
Le code que tu indiques donne deux interprétations de ton animation:
- une Legacy, la première
- l’autre de type ModelBehaviours
Une animation necessite un seul codage, Légacy ou ModelBehaviors a toi de choisir.
Si tu en mets deux, c’est incorrect et je pense que seul un codage sera pris … lequel ? Il se peut aussi qu’aucun des deux ne soit pris et que MSFS coince au chargement.

Mon conseil: étudies les freeware déjà livrés ou les payware en lisant leurs fichiers XML et surtout lis la totalité du SDK. La création ne s’improvise pas, surtout celle d’un avion 😎


@+ Didier

Amicalement,
La connaissance ne sert, que si elle est partagée !

Hors ligne

 

#15 [↑][↓]  07-11-2021 07:51:13

faf010
Copilote
Lieu: LFQE Etain
Date d'inscription: 30-05-2008
Renommée :   42 
Site web

Re: [MSFS] Altitude radio - code XML

j'y cours !!

Hors ligne

 

Pied de page des forums

Maintenance informatique Lausanne