Nous allons ajouter des parties mobiles à notre modèle: une hélice, un train
d'atterrissage rétractable avec des portes de fermeture des trappes de train,
des ailerons, des gouvernes de profondeur et un gouvernail. En fait, quelle que
soit la surface que vous désirez animer, la méthode à employer est à peu près
toujours la même. Nous n'allons pas répêter les explications pour chacune des
surfaces, ce serait carrément assommant. Je vous donnerai tous les détails concernant
l'aileron droit et je vous suggère de jeter un oeil au fichier "MyRFO.3DM" qui se trouve
dans le répertoire de ce tutoriel pour avoir des informations complémentaires en ce
qui concerne les autres surfaces. De cette façon, ça ne devrait pas être trop long!
L'hélice
L'hélice sera composée de:
Dans le master project MyRFO, créez le sub-assy PROP. Sélectionnez la vue
de face et réglez l'ordonnée du plan courant à la valeur y = 6.500. Dans le Desk,
créez un forme de type hexagonale (Draw/Shape.../hexagon) dont le centre est situé en:
0.000 6.5000 0.000
Donnez à cette forme un rayon de 0.400 ft. Validez en cliquant sur le bouton draw.
Nous allons construire l'arbre de l'hélice en utilisant l'option Build cylinder
du menu Draw. Activez cette option. Entrez les coordonnées du vecteur
définissant la génératrice du cylindre:
0.000 1.5000 0.000
Sélectionnez le sub-assy PROP dans la liste déroulante
destination sub-assy et validez. Ceci est la première partie de l'arbre.
Revenez au Desk. Le polygone courant devrait être l'hexagone qui a été
créé pour générer le cylindre. Il est parallèle au plan xOz avec une
ordonnée y=8.000. Activez de nouveau l'option Build cylinder du menu Draw.
Cette fois, entrez les coordonnées suivantes:
0.000 1.000 0.000
dans les champs de saisie consacrés au vecteur définissant la génératrice
du cylindre. Sélectionnez le sub-assy PROP dans la liste déroulante
destination sub-assy et validez. La génération de ce deuxième cylindre a
créé un troisième hexagone dans le Desk. Il est situé dans un plan
parallèle au plan xOz avec une ordonnée y=9.000. Pour compléter le dessin de
l'arbre, déplacez cet hexagone vers le sub-assy PROP et retournez le
(Draw/Flip).
Lancez l'Editeur de code et allez à la page de code du sub-assy PROP. Insérez une
instruction GCOLOR en tête de liste. Affectez lui la couleur gris/noir (indice=1).
Transformez toutes les instructions TPOLY en instructions GPOLY. Insérez une
instruction RETURN en fin de liste. Je sais: il y en a déjà une... vous verrez
plus tard pourquoi je vous demande d'en mettre une autre. Quittez l'Editeur de code.
Voilà pour l'arbre de l'hélice.
Occupons nous maintenant des pales. Dans l'Editeur Graphique, passez en vue de face (front)
et réglez l'ordonnée du plan de travail courant à y=8.000. Validez en appuyant
sur enter. Activez le mode création de chaîne et créez un polygone avec
les sommets suivants:
0.000 8.000 0.000
0.400 8.000 0.800
0.400 8.000 2.600
0.000 8.000 3.000
-0.400 8.000 2.600
-0.400 8.000 0.800
Cliquez sur l'icone du sub-assy PROP et validez la création du polygone
(bouton poly). C'est le profil de la première pale. Activez l'option
Rotate chain du menu Draw. Vérifiez que l'axe de rotation Oy
est bien sélectionné dans le panneau axis of rotation et entrez les
coordonnées du centre de rotation (center of rotation):
x = 0.000 z = 0.000
Entrez la valeur 120.0 dans le champ réservé à l'angle de rotation
(angle of rotation). Validez en cliquant sur le bouton dupl.+rot..
Vous venez de créer le profil de la deuxième pale. Recommencez pour créer le
profil de la troisième pale.
Nous en avons terminé avec le profil avant de l'hélice. Il nous faut maintenant
créer le profil arrière. Activez le mode de sélection multiple (neuvième bouton
de la barre d'outils: il restera enfoncé). Passez en revue les polygones du
sub-assy PROP en appuyant sur la touche C. Chaque fois qu'une pale
est sélectionnée, appuyez sur la barre d'espace du clavier. Ceci permet de
placer cette pale dans le buffer de sélection multiple (elle apparaîtra en vert ou
en jaune). Lorsque les trois pales ont été sélectionnées, activez le mode
Copy/Translate du menu Selection. Entrez un vecteur dont les trois
coordonnées sont à 0.000 dans les champs de saisie du vecteur de translation.
Validez en cliquant sur le bouton dupl(2). Activez ensuite l'option
Flip du menu Selection pour que les trois polygones de la sélection
soient orientés dans l'autre sens. Quittez le mode de sélection multiple en cliquant de
nouveau sur le neuvième bouton (il devrait revenir à sa position normale).
Lancez l'Editeur de code et allez à la page de code du sub-assy PROP. Vous pouvez
constater que les six polygones que nous venons de créer apparaissent après
l'instruction RETURN que je vous ai demandé d'ajouter. Insérez une instruction
GCOLOR juste après cette instruction RETURN (c'est à dire juste avant les 6
polygones représentant les pales). Affectez lui la couleur orange (indice=8).
Transformez les 6 instructions TPOLY en instructions GPOLY. Comme tout à l'heure,
ajoutez une instruction RETURN à la fin de la liste. Elle nous servira cette fois
à séparer les pales de l'hélice du disque transparent que nous allons créer.
Quittez l'Editeur de code.
Nous allons maintenant créer le disque transparent qui représentera l'hélice à
grande vitesse. Dans l'Editeur Graphique, vérifiez que vous êtes en vue de face (front)
et que l'ordonnée du plan de travail courant est y=8.000. Activez l'option
Shape.../Circle.../16 points du menu Draw. Entrez les coordonnées du
centre du cercle:
0.000 8.000 0.000
et le rayon du cercle: radius = 3.000
Validez. Activez le mode Copy/Translation du menu Draw. Mettez à
0.000 les trois coordonnées du
vecteur de translation. Validez en cliquant sur le bouton dupl.+move.
Activez ensuite l'option Flip du même menu Draw pour retourner le
disque que nous avons créé par duplication. Pendant que vous y êtes, déclarez ce
disque comme support de texture, vous verrez pourquoi tout à l'heure.
Lancez l'Editeur de code et allez à la page de code du sub-assy PROP. Les deux
disques apparaissent après l'instruction RETURN qui suit le bloc consacré aux
pales. Nous pourrions insérer une instruction GLASS pour rendre ces disques
semi-transparents mais j'ai une meilleure idée. Nous allons tirer profit du
mode alpha blending introduit par FS2000™. Insérez une paire
d'instructions TEXTURE/LIMITS juste avant les deux derniers polygones de la liste.
Affectez le fichier "Pilot" à l'instruction TEXTURE avec les options half1
et front. Double-cliquez sur le champ de données de l'instruction LIMITS
et appelez le support de texture que vous venez de déclarer. Transformez les
deux instructions TPOLY en instructions BPOLY (alpha blended polygons).
Nous allons maintenant activer le mode alpha blending. Insérez une
instruction BLENDING (groupe Color/Texture, option Alpha blend)
juste avant les instructions BPOLY (c'est à dire après la paire TEXTURE/LIMITS).
Affectez un indice de 80 à cette instruction BLENDING. Le mode alpha blending a
ceci de particulier qu'il reste activé aussi longtemps que vous ne l'avez pas
désactivé. Je vous recommande de le désactiver tout de suite après que vous
l'avez utilisé. Insérez une instruction BLENDING en fin de liste et affectez
lui l'indice 0.
TEXTURE Pilot
LIMITS -3.000,3.000,-3.000,3.000
BLENDING 80
BPOLY 16;...
BPOLY 16;...
BLENDING 0
RETURN
Jetons un oeil à la page de code dans son ensemble. il y a trois blocs
d'instructions. Les deux premiers commencent par une instruction GCOLOR,
le troisième par instruction TEXTURE. Tous trois se terminent par un RETURN.
On dirait trois sous-programmes, n'est-ce pas? Pour compléter la conception de
l'hélice, nous allons "appeler" ces trois sous-programmes. Allez en tête de
liste et insérez un instruction GOSUB que vous ferez pointer sur le premier
GCOLOR (qui se trouve pour le moment juste en dessous). Donnez à cette
instruction GCOLOR le label "SHAFT". Ce GOSUB SHAFT permettra de visualiser l'arbre.
En ce qui concerne les pales et le disque transparent, nous ne voudrions
pas les voir simultanément. Il serait plaisant de voir les pales à basse
vitesse et le disque transparent à grande vitesse. Une instruction JUMP PROP
va nous permettre de réaliser ce rêve. Insérez une instruction JUMP PROP
juste après l'instruction GOSUB. Vous pourrez constater que cette instruction
fait en fait partie d'une paire d'instructions combinées. Elle est associée à
une instruction RANGE qui définit les paramètres du test. Double-cliquez sur le
champ de données de l'instruction RANGE pour définir les valeurs min et max de
la plage de test:
min. = 0 max. = 35
Faites pointer le JUMP PROP vers l'instruction TEXTURE à laquelle vous
donnerez le label "DISK". Insérez ensuite une instruction GOSUB et une
instruction RETURN à la suite du RANGE. Faites pointer ce deuxième GOSUB vers
le deuxième GCOLOR auquel vous donnerez le label BLADE. La liste d'instruction
devrait ressembler à ceci:
PROP SUBASSY,T click to come back
GOSUB SHAFT
JUMP PROP DISK
RANGE 0,35
GOSUB BLADE
RETURN
SHAFT GCOLOR 1
GPOLY 4;...
GPOLY 4;...
...
RETURN
BLADE GCOLOR 8
GPOLY 6;...
GPOLY 6;...
...
RETURN
DISK TEXTURE Pilot
LIMITS -3.000,3.000,-3.000,3.000
BLENDING 80
BPOLY 16;...
BPOLY 16;...
BLENDING 0
RETURN
Prenons un moment pour mieux comprendre le sens de ces lignes de code. La page de code comporte quatre sections:
Nous allons maintenant tâcher de faire tourner tout cela. Revenez à la page de
code principale. La rotation de l'hélice peut être réalisée grâce à une
instruction du groupe misc. advanced. Insérez cette instruction juste
avant l'instruction DICE SUBASSY,T. Comme vous pouvez le constater il s'agit
une fois de plus d'une paire d'instructions combinées. L'instruction RUN PROP
est une instruction qui nécessite une adresse de destination: faites la pointer
sur le sub-assy PROP. La signification de l'instruction VECTOR sera expliquée
plus tard dans ce tutoriel.
Pour compléter cette liste, insérez une instruction RETURN juste après
l'instruction VECTOR. Ajoutez ensuite une instruction GOSUB après l'instruction
GOSUB GOTAIL. Double-cliquez sur le champ de données de l'instruction GOSUB
que vous venez de créer et pointez le doigt sur l'instruction RUN PROP. Donnez le
label "PROP1" à cette instruction. La page de code devrait ressembler à ce
qui suit:
MYRFO MASTER
GOSUB DICE
GOSUB CANOPY
GOSUB PILOT
GOSUB RWING
GOSUB LWING
GOSUB GOTAIL
GOSUB PROP1
RETURN
PROP1 RUN PROP PROP
VECTOR undefined translation
RETURN
DICE SUBASSY,T click to open sub-assy
CANOPY SUBASSY,T click to open sub-assy
PILOT SUBASSY,T click to open sub-assy
RWING SUBASSY,T click to open sub-assy
LWING SUBASSY,T click to open sub-assy
GOTAIL INSERT TAIL
PROP SUBASSY,T click to open sub-assy
ENDBLOCK
La signification de ces lignes de code est détaillée ci-après. La page de code comprend:
L'animation des parties mobiles est un peu complexe. Les instructions de base
qui commandent ce type d'animation ne permettent des mouvements qu'autour des
axes principaux: Ox, Oy et Oz. Malheureusement, il est rare que les parties
mobiles soient articulées autour des axes principaux. Il y a deux façons de
contourner cet obstacle. La première est d'utiliser l'instruction VECTOR
associée, la seconde est d'utliser un jeu d'instructions TRANS/ROT. Pour le
moment, nous n'avons pas à nous casser la tête: l'axe de l'hélice est le bon.
La seule chose que nous avons à faire est d'affecter un vecteur de coordonnées
nulles à l'instruction VECTOR.
Quittez l'Editeur de code. Créez un vecteur dont les trois coordonnées sont nulles
(option menu Utilities/Make a vector ou combinaison de touches CTRL+F4).
Relancez l'Editeur de code. Double-cliquez sur le champ de données de l'instruction
VECTOR et cliquez sur l'une des flêches gauche/droite de la fenêtre pour
sélectionner le vecteur nul que vous venez de créer. Acceptez les autres
paramètres par défaut (qui sont nuls également) et validez. L'instruction
VECTOR est mise à jour:
VECTOR 0.000,0.000,0.000,0.000,0.000,0.000
Et voilà... c'est tout pour l'hélice. Si FS2000™ tourne, assurez vous que "MyRFO"
n'est pas sélectionné. Sinon lancez FS2000™. Compilez le modèle et testez
l'hélice.
Pas mal, l'alpha blending, n'est-ce pas?
L'aileron
L'installation d'un aileron n'est pas bien différente de celle d'une hélice.
Cependant, cette fois, il nous faudra jouer avec l'instruction TRANS/ROT puisque
l'aileron s'articule autour d'un axe qui n'est pas l'un des axes principaux.
Commençons par le modèle 3D de l'aileron.
Quittez l'Editeur de code. Créez un nouveau sub-assy appelé "RAILERON". Dans ce
sub-assy, créez un nouveau polygone avec les sommets suivants:
12.000 -4.500 0.000
20.000 -4.500 0.000
20.000 -6.000 0.000
12.000 -6.000 0.000
Dupliquez ce polygone et retournez le polygone dupliqué. C'est vraiment l'aileron
de base, modèle 1903. Prenons un moment pour réfléchir à la façon dont nous
allons l'animer.
Les instructions d'animation de parties mobiles, comme je vous l'ai dit, ne
fonctionne que sur des sous-ensembles articulés autour d'un axe principal. Ce
n'est pas le cas de l'aileron. Heureusement, il y a une instruction qui permet
de changer l'origine d'un sous-ensemble et ses axes de référence: c'est
l'instruction TRANS/ROT (c'est d'ailleurs une paire d'instructions combinées,
vous vous en seriez douté...). La signification exacte de cette instruction est
expliquée dans le fichier d'aide. Dans le cas qui nous intéresse, l'axe de
l'aileron est parallèle à l'axe Ox, ça va nous simplifier
la vie.
Instruction | Axe | Partie mobile |
RUN PROP | hélice | |
RUN PROP2 | hélice 2 | |
RUN PROP3 | hélice 3 | |
RUN PROP4 | hélice 4 | |
R AILERON | aileron droit | |
L AILERON | aileron gauche | |
RUDDER | direction | |
STABILIZER | stabilisateur/profondeur | |
MOVE FLAP | volet | |
SPOILER | spoiler | |
GEAR RBANK | train droit (rétraction -> gauche) | |
GEAR LBANK | train gauche (rétraction -> droite) | |
GEAR ELEV | train (rétraction -> avant) | |
GEAR ELEVR | train (rétraction -> arrière) | |
WDOOR Ox | porte de train (rétraction -> avant) | |
WDOOR Oxr | porte de train (rétraction -> arrière) | |
WDOOR ROy | porte de train (rétraction -> gauche) | |
WDOOR LOy | porte de train (rétraction -> droite) | |
WHEEL | rotation d'une roue |
Nota 1 : certaines commandes ne sont pas directement
accessibles depuis le panneau de sélection d'instruction. Elles font partie d'un ensemble
d'instructions groupées et on passe de l'une à l'autre en utilisant une touche clavier.
Ainsi, pour activer la commande RUN PROP2, vous devez d'abord insérer
une commande de type RUN PROP puis, dans l'Editeur de code, sélectionner cette instruction
et presser sur la touche P. La signification des touches
clavier peut être consultée à tout moment depuis l'Editeur de code en appuyant sur
la touche F10.
Nota 2 : pour que les instructions RUN PROPx soient
effectivement actives, le fichier *.air du modèle doit être conforme au standard FS2000™/CFS2™.
L'instruction RUN PROP est quant à elle compatible du standard FS98™/CFS™.
Le principe de l'animation est le suivant:
Lancez l'Editeur de code et allez à la page de code du sub-assy RAILERON. Insérez
une instruction GCOLOR (indice=7, couleur bleue) et transformez les instructions
TPOLY en instructions GPOLY. Revenez à la page de code principale. Insérez la
séquence suivante juste avant l'instruction DICE SUBASSY,T:
TRANS/ROT ?
VECTOR undefined translation
RETURN
R AILERON ?
VECTOR undefined translation
RETURN
TRANS/ROT ?
VECTOR undefined translation
RETURN
L'instruction R AILERON se trouve dans le groupe Flight controls,
l'instruction TRANS/ROT dans le groupe misc. advanced. Cette séquence se
compose de trois modules. Nous allons faire en sorte qu'ils s'appellent les uns
les autres: le premier appellera le second, le second le troisième et le troisième
appellera le sub-assy RAILERON.
Occupons nous d'abord du troisième module. Faites pointer l'instruction
TRANS/ROT sur le sub-assy RAILERON. Double-cliquez ensuite sur le champ de
données de l'instruction VECTOR et utilisez les flêches gauche/droite de la
fenêtre de sélection pour appeler le vecteur défini par les coordonnées suivantes:
-12.000 4.500 0.000
Ce module réalise la translation de l'aileron vers l'origine.
Occupons nous maintenant du second module. Faites pointer l'instruction
RAILERON sur l'instruction TRANS/ROT du troisième module. Donnez à cette
instruction le label "RAIL1". Double-cliquez ensuite sur le champ de données de
l'instruction VECTOR et utilisez les flêches gauche/droite de la fenêtre de
sélection pour appeler le vecteur dont les trois coordonnées sont nulles.
Nous avions créé ce vecteur lorsque nous avons dessiné l'hélice. Ce module
réalise l'animation de l'aileron.
Pour finir, occupons nous du premier module. Faites pointer l'instruction
TRANS/ROT vers l'instruction RAILERON. Donnez le label "RAIL2" à cette instruction.
Double-cliquez ensuite sur le champ de données de l'instruction VECTOR et utilisez
les flêches gauche/droite de la fenêtre de sélection pour appeler le vecteur
défini par les coordonnées suivantes:
12.000 -4.500 0.000
Ce module ramène l'aileron à sa position initiale.
Il nous faut maintenant appeler cette séquence depuis la section principale
du code. Ajoutez une instruction GOSUB juste après l'instruction GOSUB PROP1.
Faites la pointer sur la première instruction TRANS/ROT. Donnez le label
"RAIL3" à cette instruction. La page de code principale ressemble maintenant à ceci:
MYRFO MASTER
GOSUB DICE
GOSUB CANOPY
GOSUB PILOT
GOSUB RWING
GOSUB LWING
GOSUB GOTAIL
GOSUB PROP1
RETURN
PROP1 RUN PROP PROP
VECTOR 0.000,0.000,0.000,0.000,0.000,0.000
RETURN
RAIL3 TRANS/ROT RAIL2
VECTOR 12.000,-4.500,0.000,0.000,0.000,0.000
RETURN
RAIL2 R AILERON RAIL1
VECTOR 0.000,0.000,0.000,0.000,0.000,0.000
RETURN
RAIL1 TRANS/ROT RAILERON
VECTOR -12.000,4.500,0.000,0.000,0.000,0.000
RETURN
DICE SUBASSY,T click to open sub-assy
CANOPY SUBASSY,T click to open sub-assy
PILOT SUBASSY,T click to open sub-assy
RWING SUBASSY,T click to open sub-assy
LWING SUBASSY,T click to open sub-assy
GOTAIL INSERT TAIL
PROP SUBASSY,T click to open sub-assy
RAILERONSUBASSY,T click to open sub-assy
ENDBLOCK
Il est temps de compiler le modèle pour jeter un oeil au résultat.
Comme vous pouvez vous en douter, ajouter l'aileron gauche, la gouverne et
les stabs ne fait pas appel à des techniques fondamentalement différentes.
Vous guider pas à pas dans la création de ces autres parties mobiles risquerait
de nous lasser vous et moi. Je vous suggère de sauter ces étapes. Vous trouverez
dans le répertoire de ce tutoriel un fichier "MyRFO.3DM" comprenant le modèle
complet. Si vous voulez vous assurez que vous avez bien compris le processus
d'animation, n'hésitez pas à y jeter un oeil.
Nota : le débattement des surfaces de
commandes de vol peut être ajusté grâce à l'option Settings du menu
de l'Editeur de code. Cette option n'est accessible que depuis le
master project.
Les trains d'atterrissage
On va faire simple... Je pense que cela ne vous gènera pas. De toutes façons,
ce n'est pas un tutoriel interactif, alors... Quittez l'Editeur de code et revenez à
l'Editeur Graphique. Sélectionnez la vue de dessus (top). Créez un sub-assy appelé "RGEAR"
(ben oui: RGEAR comme Right Gear. Qui a dit qu'il fallait trouver des noms
originaux?).
Activez l'option Shape.../diamond du menu Draw. Placez le centre de la forme en:
10.500 1.500 0.000
et réglez la hauteur (height) et la largeur (width) à 0.8 ft. Validez
(bouton draw).
Activez l'option Build cylinder du même menu Draw. Entrez les
coordonnées du vecteur définissant la génératrice du cylindre:
0.000 0.000 -4.000
Vérifiez que RGEAR est bien le sub-assy de destination dans la liste
déroulante. Validez. Et voilà pour la jambe de train.
Sélectionnez la vue de côté. Activez l'option Shape.../Circle.../16 points
du menu Draw. Placez le centre du cercle en:
10.900 1.500 -4.000
et donnez lui un rayon de 2.000 ft. Validez. Dupliquez ce cercle et retournez
le. Déclarez l'un des deux cercles comme support de texture.
Lancez l'Editeur de code et allez à la page de code du sub-assy RGEAR. Il y a sept
polygones. Le premier est la base de la jambe de train. Transformons le en
polygone de type HIDDEN. Les quatre suivant forment la jambe de train proprement
dite. Transformons les en polygones de type GPOLY. Nous garderons les deux
derniers tels quels. Revenez au début de la liste et insérez une instruction
GCOLOR à laquelle vous affecterez un indice de 2 (gris). C'est la couleur de
la jambe de train. Insérez ensuite une paire d'instructions TEXTURE/LIMITS.
Affectez le fichier "Pilot" à l'instruction TEXTURE, avec les options half1
et side. Double-cliquez ensuite sur le champ de données de l'instruction
LIMITS pour lui assigner le support de texture créé à partir du disque de roue.
Nous en avons fini avec le modèle 3D du train.
Occupons nous maintenant de la porte fermant la trappe de train. Créez un
nouveau sub-assy et appelez le RWELL. Vérifiez que vous êtes dans la
vue de côté et réglez l'abscisse du plan courant à la valeur x=11.000. Validez
en appuyant sur la touche enter. Activez le mode de création de chaîne
et créez un polygone dont les sommets sont les suivants:
11.000 2.000 0.000
11.000 3.400 -3.200
11.000 1.500 -4.200
11.000 0.000 -3.700
11.000 0.800 0.000
Dupliquez le polygone ainsi créé et retournez le polygone dupliqué. Lancez
l'Editeur de code et allez à la page de code du sub-assy RWELL. insérez une
instruction GCOLOR en tête de liste avec un indice de 3 (gris clair). Transformez
les instructions TPOLY en instuctions GPOLY.
Nous allons maintenant animer le train. Vous savez comment il faut traiter
les parties mobiles lorsqu'elles ne sont pas alignées sur l'un des axes
principaux. Revenez à l'Editeur Graphique et créez 4 vecteurs dont les coordonnées sont
les suivantes:
10.500 0.000 0.000
-10.500 0.000 0.000
11.000 0.000 0.000
-11.000 0.000 0.000
Lancez l'Editeur de code et restez dans la page de code principale. Insérez la
séquence suivante juste avant l'instruction DICE SUBASSY/T:
BANK RGEAR ?
VECTOR undefined translation
RETURN
TRANS/ROT ?
VECTOR undefined translation
RETURN
Faites en sorte que les instructions de saut pointent vers une adresse
convenable et affectez les vecteurs correspondants aux instructions VECTOR:
BANK RGEAR RGEAR1
VECTOR 10.500,0.000,0.000,0.000,0.000,0.000
RETURN
RGEAR1 TRANS/ROT RGEAR
VECTOR -10.500,0.000,0.000,0.000,0.000,0.000
RETURN
Comme vous pouvez le voir, nous avons simplifié la séquence en omettant
une instruction TRANS/ROT. C'est possible parce qu'il n'y a pas de rotation à effectuer
pour aligner l'axe du train avec l'axe Oy. Nous aurions pu le faire également
pour l'animation de l'aileron. Maintenant c'est trop tard...
Faites la même chose pour la porte de la trappe de train:
WDOOR ROy RWELL1
VECTOR 11.000,0.000,0.000,0.000,0.000,0.000
RETURN
RWELL1 TRANS/ROT RWELL
VECTOR -11.000,0.000,0.000,0.000,0.000,0.000
RETURN
Pour insérer une instruction WDOOR ROy, commencez par insérer une instruction
WDOOR xxx (groupe misc. advanced, option wheel door). Sélectionnez
ensuite le champ de code de cette instruction et appuyez deux fois sur la
touche W. La touche W vous fait passer en revue les différentes
options disponibles pour cette instruction.
Pour compléter la modélisation du train, il faut bien sûr insérer deux
instructions GOSUB à la fin de la section de code principale (juste après
l'instruction GOSUB LAIL3) et les faire pointer vers les deux modules que nous
venons de créer (et que nous appellerons RGEAR2 et RWELL2):
GOSUB PROP1
GOSUB RAIL3
GOSUB LAIL3
GOSUB RGEAR2
GOSUB RWELL2
RETURN
...
...
RGEAR2 BANK RGEAR RGEAR1
VECTOR 10.500,0.000,0.000,0.000,0.000,0.000
RETURN
RGEAR1 TRANS/ROT RGEAR
VECTOR -10.500,0.000,0.000,0.000,0.000,0.000
RETURN
RWELL2 WDOOR ROy RWELL1
VECTOR 11.000,0.000,0.000,0.000,0.000,0.000
RETURN
RWELL1 TRANS/ROT RWELL
VECTOR -11.000,0.000,0.000,0.000,0.000,0.000
RETURN
Faire la même chose avec le train rétractable gauche est un jeu d'enfant
maintenant que vous êtes devenu un expert d'Aircraft Designer 2000. Je vous propose de sauter
cette étape et d'aller voir sur le terrain le résultat.
Ho, les gars, vous savez quoi?
Noon...
...ça y est! Vous êtes reçus...
Vous avez votre diplome d'ingénieur AD2000.
Félicitations!
Nota : pour ceux qui souhaitent encore plus de réalisme, la commande WHEEL permet de simuler la rotation des roues sur le tarmac. C'est une commande de partie mobile comme les autres. Comme elle fait référence à un axe de rotation qui n'est pas le même que celui autour duquel pivote le train, elle doit être imbriquée à l'intérieur de la séquence consacrée au train. On trouvera dans le fichier fourni à titre d'exemple la syntaxe à respecter pour ce faire.