Application : Les rotations pour les instruments

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

Application : Les rotations pour les instruments

Message  Alexis le Jeu 29 Sep 2011 - 21:14

Retrouvez tous les autres tutoriels concernant le développement de FG ici


Application : Les rotations pour les instruments



Avant de vous attaquer à cette lecteur, je vous conseille très fortement de vous intéresser au cours sur les rotations que vous trouverez ici -> http://equipe-flightgear.forumactif.com/t595-cours-les-rotations-dans-flightgear, en effet je ne vais pas ré-expliquer tout en détails, ça serait idiot, non je vais vous indiquer comment utiliser toutes les possibilités présentées dans le cours. Après cette lecture, les animations des instruments n'auront plus aucun secret pour vous.


Instruments ayant un pas unique

Je vous explique ici comment animer une aiguille qui se déplace toujours de la même manière, les graduations sont par exemple de 10 en 10 et ont le même écartement. On pourrait avoir le cas contraire, au départ la graduation est de 10 en 10 puis elle passe de 50 en 50, nous verrons ça plus tard.


  • Méthode de l'interpolation

Voici un exemple :



Bon c'est un cadrant très simplifié, vous l'aurez remarqué ! Imaginons que ce soit un anémomètre. Il nous indique une vitesse en nœud. Retenez ceci : Tout les 45° l'aiguille indiquera 10kts de plus. Et oui j'ai divisé le cadrant en 8 graduations donc chaque graduations est à 45 °

voyons quelle tête aura l'animation :
Code:

 <animation>
    <type>rotate</type>
    <object-name>needle</object-name>
    <property>instrumentation/airspeed-indicator/indicated-speed-kt</property>
    <interpolation>
      <entry><ind>  0 </ind><dep>  0 </dep></entry>
      <entry><ind> 70 </ind><dep> 315 </dep></entry>
    </interpolation>
    <axis>
      <x> -1 </x>
      <y>  0 </y>
      <z>  0 </z>
    </axis>
</animation>

Une petite explication s'impose :
type : fastoche, rotate pour rotation, si vous n'avez pas compris ça, vous sortez Very Happy
object name : mais quel objet tourne ? Ici l'objet s'appelle needle (needle = aiguille pour les non anglophone), l'objet aurait très bien pu s'appeler aiguille, bidule ou autre, tant que le nom de l'objet correspond au nom donné à l'aiguille dans l'objet 3D, Flightgear le fera tourner.
Property : quelle propriété fait tourner l'aiguille ? Celle-ci : instrumentation/airspeed-indicator/indicated-speed-kt

interpolation : c'est l'élément le plus important à expliquer, ouvrez grand vos yeux. Dans ces deux lignes j'ai entré 4 valeurs :
la première ligne : ind =0 dep = 0
la deuxième ligne : ind = 70 dep = 315

En langage humain ça pourrait être traduit comme ça :
Quand la propriété vaut 0 (ici quand la vitesse vaut zéro) alors tourne l'objet de 0° (ici l'objet needle), quand la propriété vaut 70 (quand la vitesse est de 70 kts) alors tourne l'objet de 315°. Autrement pour toutes les autres valeurs de la propriété, fait tourner l'objet needle de manière proportionnelle, en langage un peu plus matheux, on dirait que l'ordinateur va faire une interpolation linéaire entre deux valeurs données.
Imaginons que la vitesse soit de 50 kts, si je calcul de mon côté en réalisant une interpolation linéaire (pas besoins de vous donner la formule, je vais vous embrouiller le cerveau), je vais obtenir 225°. L'ordinateur va faire la même chose, obtenir le même résultat et faire tourner l'aiguille de 225°, celle-ci va coïncider parfaitement avec le 50kts du cadran.

Magique l'interpolation hein ? Et encore, attendez de lire la suite !

Axis : autour de quel axe on tourne ? Ici l'axe x. Ce sera le cas pour 99,999% des aiguilles

Bon ce cas est tellement simple que l'interpolation n'est pas si importante, en effet on va aussi pouvoir appliquer la méthode du factor.


  • Méthode du factor

Pour la méthode du factor, l'animation aurait cette tête :

Code:

 <animation>
    <type>rotate</type>
    <object-name>needle</object-name>
    <property>instrumentation/airspeed-indicator/indicated-speed-kt</property>
    <factor>4.5</factor>
    <axis>
      <x> -1 </x>
      <y>  0 </y>
      <z>  0 </z>
    </axis>
</animation>

Vous pouvez remarquez que l'interpolation à été remplacée par factor. En fait on rendre ici le pas de l'animation. En français ça veux dire : à chaque fois que la vitesse augmente de 1kt, alors tourne l'aiguille de 4,5°
Comment trouver le pas ?
Il faut faire une petite division : angle (par exemple 315°) pour la valeur de la propriété associée (ici 70kts).

Exemple de l'altimètre : on trouve souvent cette animation sur les altimètre :

Code:

  <animation>
    <type>rotate</type>
    <object-name>needle100</object-name>
    <property>instrumentation/altimeter/indicated-altitude-ft</property>
    <factor>0.36</factor>
    <axis>
      <x> -1 </x>
      <y>  0 </y>
      <z>  0 </z>
    </axis>
  </animation>
Ici c'est l'aiguille indiquant le chiffre des centaine, en 1 tour soit 360° elle indiquera 1000 pieds, enfin elle passe de 999 à 0, ce qui fait 1000 graduations (0,1,...,9 soit 10 chiffres, j'espère que vous comprenez lol)
calcul du pas :
360/1000= 0.36
D'où le factor à 0.36

Le concept du factor dans les instruments est peut-être plus complexe à comprendre que pour les autres parties mobiles comme les ailerons où nous rentrons directement l'angle. Il faut bien vous dire que vous y indiquer de combien de degré l'aiguille tourne par unité de la propriété.


Aiguilles ayants des changements de pas

N'ayez pas peur, ici rien d'insurmontable ! La question est juste de savoir comment faire lorsque l'on passe de 10 en 10 à 50 en 50 par exemple, et donc lorsque l'on passe d'un pas de 0.1degré par unité à un pas de disons 0.5 degrés par unité

Alors rien que pour vous embêter, je vous propose ce cadran, imaginons encore que c'est un badin.



Dans le premier quart du cadrant nous allons de 10 en 10. On passe ensuite de 20 en 20 et après ça dégénère encore. Notez que j'ai été gentil et que j'ai gardé une graduation tout les 45°, on pouvait aussi modifier les écarts entre les graduations.

Voici le code xml correspondant :

Code:

 <animation>
    <type>rotate</type>
    <object-name>needle</object-name>
    <property>instrumentation/airspeed-indicator/indicated-speed-kt</property>
    <interpolation>
      <entry><ind>  0 </ind><dep>    0</dep></entry>
      <entry><ind> 20 </ind><dep>  90</dep></entry>
      <entry><ind> 80 </ind><dep> 225</dep></entry>
      <entry><ind>150</ind><dep> 270</dep></entry>
      <entry><ind>300</ind><dep> 315</dep></entry>
    </interpolation>
    <axis>
      <x> -1 </x>
      <y>  0 </y>
      <z>  0 </z>
    </axis>
</animation>

Alors tout ce qui change ici c'est l’interpolation. La différence vient du fait que j'ai ajouté d'autres valeurs. À chaque changement de pas, j'indique les extremum. Si on considère que notre avion accélère progressivement et de manière constante voilà comment va bouger notre aiguille.

De 0 à 20kts : l'aiguille va bouger rapidement elle parcours 4.5 degrés par kts
De 20 à 80 kts : l'aiguille ralenti et parcours 2.25 degrés par kts
De 80 à 150 : l'aiguille ralenti encore et parcours 0.64 degrés par kts
De 150 à 300 : l'aiguille devient très lente 0.3 degrés par kts

Les différents pas sont donc 4.5/2.25/0.64/0.3

J'espère que vous commencez à comprendre la puissance de l'interpolation.


  • Mais si vous n'avez aucune idée des angles de rotation ?


Et bien oui, là je vous ai simplifié la vie, toutes les graduations était à 45° l'une de l'autre. Alors comment faire ? Très simple, vous allez tout d'abord importer l'objet dans blender : (tuto sur l'importation : http://equipe-flightgear.forumactif.com/t585-importer-des-fichier-ac3d )
Si ce n'est pas le cas, passez en mode texturé (alt+z), vous verrez apparaître (souvent à condition de retirer la vitre) le cadran. Sélectionnez l'aiguille et faites-la tourner (touche r), en bas à gauche s'affichera l'angle de rotation. Placez l'aiguille à l'endroit dont vous voulez récupérer l'angle et notez celui-ci, continuez à tourner pour récupérer tous les autres angles important. Il ne vous reste plus qu'a faire votre interpolation.


L'aiguille n'est pas centrée

Il peut arrivé que l'aiguille ne tourne pas à la position 0,0,0 autrement dit, que le point de rotation soit décalé. Voici un exemple :



Pour info, ceci est l'instu (du dc3) indiquant la température dans les cylindres du moteur. Comme vous pouvez le voire il y a deux aiguilles décalés


Dans ce cas, à la balise axis s'ajoute une autre que vous devez connaître , il s'agit de la balise center :

Code:

    <center>
      <x-m> 0.0015 </x-m>
      <y-m> 0.0206 </y-m>
      <z-m> 0.0037 </z-m> 
    </center>
    <axis>
      <x> -1 </x>
      <y>  0 </y>
      <z>  0 </z>
    </axis>

ceci est le centre de l'aiguille de droite.

Et bien maintenant, je ne peux vous conseiller qu'une chose, regardez les instru des avions. Sur les avions bien rangés, donc regardables, ils se trouvent ici :
Aircraft/nom-de-l'Avion/Models/Interior/Panel/Instruments/

Entraînez vous !


Retrouvez tous les autres tutoriels concernant le développement de FG ici


Dernière édition par Alexis le Sam 12 Nov 2011 - 16:40, édité 3 fois
avatar
Alexis
Admin

Messages : 2053
Date d'inscription : 19/02/2009
Age : 24
Localisation : Loire Atlantique

Voir le profil de l'utilisateur http://fgalexis.jimdo.com/

Revenir en haut Aller en bas

Re: Application : Les rotations pour les instruments

Message  algajojo le Jeu 29 Sep 2011 - 22:51

bravo Alexis!!!!!
limpide, concis, un tuto nickel (j'ai tout compris Shocked )
amicalement
georges

_________________
georges F-GALG
windows 7 /FG 2.11.0 / saitek x52+ palonniers
avatar
algajojo
Pilote de jet

Messages : 775
Date d'inscription : 17/10/2010
Age : 59
Localisation : Chelles LFPH

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Application : Les rotations pour les instruments

Message  Alexis le Jeu 29 Sep 2011 - 23:02

merci beaucoup Georges. Si tu as tout compris, c'est mission accomplie !
avatar
Alexis
Admin

Messages : 2053
Date d'inscription : 19/02/2009
Age : 24
Localisation : Loire Atlantique

Voir le profil de l'utilisateur http://fgalexis.jimdo.com/

Revenir en haut Aller en bas

Re: Application : Les rotations pour les instruments

Message  algajojo le Jeu 29 Sep 2011 - 23:20

juste un truc :
tu dis :
Et bien maintenant, je ne peux vous conseiller qu'une chose, regardez les instru des avions. Sur les avions bien rangés, donc regardables, ils se trouvent ici :
Aircraft/Avion/Models/Interior/Panel/Instruments/

j'aurai mis :
Aircraft/nom-de-l'Avion/Models/Interior/Panel/Instruments/
mais là, je te l'accorde, je chipote Cool


_________________
georges F-GALG
windows 7 /FG 2.11.0 / saitek x52+ palonniers
avatar
algajojo
Pilote de jet

Messages : 775
Date d'inscription : 17/10/2010
Age : 59
Localisation : Chelles LFPH

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Application : Les rotations pour les instruments

Message  Alexis le Jeu 29 Sep 2011 - 23:28

qu'est-ce qu'on ne ferait pas pour ce chère jojo Smile
avatar
Alexis
Admin

Messages : 2053
Date d'inscription : 19/02/2009
Age : 24
Localisation : Loire Atlantique

Voir le profil de l'utilisateur http://fgalexis.jimdo.com/

Revenir en haut Aller en bas

Re: Application : Les rotations pour les instruments

Message  Patten le Ven 30 Sep 2011 - 19:02

Alexis a écrit:merci beaucoup Georges. Si tu as tout compris, c'est mission accomplie !

Laughing Laughing Laughing Very Happy bounce bounce bounce

MDR Georges l'étalon, si Jojo a compris, le monde entier a compris.

M'enfin! No

clown

Very Happy


_________________
C'est quand il manque quelqu'un qu'on est tous présents.
Pour les textures du terrrain, c'est ICI

Mon hangar en chantier ICI

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

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

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

Revenir en haut Aller en bas

Re: Application : Les rotations pour les instruments

Message  algajojo le Ven 30 Sep 2011 - 19:35

patten a écrit:
Alexis a écrit:merci beaucoup Georges. Si tu as tout compris, c'est mission accomplie !

Laughing Laughing Laughing Very Happy bounce bounce bounce

MDR Georges l'étalon, si Jojo a compris, le monde entier a compris.

M'enfin! No

clown

Very Happy

jaloux geek geek geek geek geek geek geek

_________________
georges F-GALG
windows 7 /FG 2.11.0 / saitek x52+ palonniers
avatar
algajojo
Pilote de jet

Messages : 775
Date d'inscription : 17/10/2010
Age : 59
Localisation : Chelles LFPH

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Application : Les rotations pour les instruments

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

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

- Sujets similaires

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