Application : Les rotations pour les instruments
3 participants
Page 1 sur 1
Application : Les rotations pour les instruments
Retrouvez tous les autres tutoriels concernant le développement de FG ici
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 -> https://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.
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 :
Une petite explication s'impose :
type : fastoche, rotate pour rotation, si vous n'avez pas compris ça, vous sortez
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.
Pour la méthode du factor, l'animation aurait cette tête :
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 :
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 :
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.
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 : https://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 :
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
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 -> https://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
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>
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 : https://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
Re: Application : Les rotations pour les instruments
bravo Alexis!!!!!
limpide, concis, un tuto nickel (j'ai tout compris )
amicalement
georges
limpide, concis, un tuto nickel (j'ai tout compris )
amicalement
georges
algajojo- Pilote de jet
- Messages : 775
Date d'inscription : 17/10/2010
Age : 66
Localisation : Chelles LFPH
Re: Application : Les rotations pour les instruments
merci beaucoup Georges. Si tu as tout compris, c'est mission accomplie !
Re: Application : Les rotations pour les instruments
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
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
algajojo- Pilote de jet
- Messages : 775
Date d'inscription : 17/10/2010
Age : 66
Localisation : Chelles LFPH
Re: Application : Les rotations pour les instruments
qu'est-ce qu'on ne ferait pas pour ce chère jojo
Re: Application : Les rotations pour les instruments
Alexis a écrit:merci beaucoup Georges. Si tu as tout compris, c'est mission accomplie !
MDR Georges l'étalon, si Jojo a compris, le monde entier a compris.
M'enfin!
Re: Application : Les rotations pour les instruments
jalouxpatten a écrit:Alexis a écrit:merci beaucoup Georges. Si tu as tout compris, c'est mission accomplie !
MDR Georges l'étalon, si Jojo a compris, le monde entier a compris.
M'enfin!
algajojo- Pilote de jet
- Messages : 775
Date d'inscription : 17/10/2010
Age : 66
Localisation : Chelles LFPH
Sujets similaires
» Cours : Les rotations dans Flightgear
» Instruments 1 et 2 WW
» Tuto : les instruments IFR
» RobinDR-400 jsbSim 120cv
» Tuto approche et atterrissage ILS
» Instruments 1 et 2 WW
» Tuto : les instruments IFR
» RobinDR-400 jsbSim 120cv
» Tuto approche et atterrissage ILS
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum