Les vues "conducteur", "voyageur" et les "réversibles"

Dans MSTS, plusieurs possibilités existent pour restituer des vues "conducteur" et/ou "voyageur" mais avec un certain nombre de contraintes.

De façon standard, si le matériel d'une rame a été correctement programmé et comporte une locomotive "pilotable", il existera par défaut :

les touches de point de vue

Si dans le matériel de la rame il existe plusieurs "vues voyageurs" 3D spécifiées dans les scripts ENG et/ou WAG par une directive "Inside", seule la première (comptée à partir du début de la rame) sera prise en compte par appui sur la touche "5".

Au total il y a donc 5 points de vue possibles mais un seul comporte les afficheurs et commandes animées dans une vue 2D. La vue "Headout" et la vue "voyageur" étant 3D, elles voient le modèle qui doit être préparé en conséquence.

  Problème des cabines de matériels "réversibles"

La rédaction de cette page date de 2004 et le contenu de ce paragraphe est "obsolète" dans la mesure où le patch MSTSBin a résolu le problème de façon très efficace. Voir la FAQ BinPatch du forum ActivitySimulator.

 

Un matériel réversible comporte une cabine à chaque extrémité utilisée selon le sens de marche. Comme MSTS ne l'a pas prévu, il faut trouver une solution pour disposer au minimum des vues avant et arrière que l'on choisira selon le sens de marche. La solution sera différente selon que :
  1. les deux cabines se trouvent aux extrémités de la même locomotive (cas courant des locomotives diesels et électriques symétriques)
  2. chaque cabine est celle d'une rame réversible et va se trouver dans un véhicule différent et fort éloignées l'une de l'autre.

Dans le cas 1. le repère de base reste le même: celui du véhicule. On peut donc utiliser en plus de la vue frontale "cabine de commande" une des 4 autres vues qui restent, mais en perdant sa fonction de base : sur une locomotive qui roule à gauche comme en France, on peut perdre la vue latérale droite moins importante et modifier le script cabine pour que la touche -> nous place dans la cabine arrière face à une vue "2D".
La modification pour un matériel symétrique est très simple et ne nécessite pas de nouvelle image. Dans le fichier script cvf repérer les 3 séquences commençant par "Cabviewfile" et se terminant par "Direction": elles décrivent dans l'ordre les points de vue de la touche "1", de la touche "<-" et de la touche "->". On doit donc modifier la 3ème en recopiant la 1ère et en modifiant les paramètres de Position et de Direction symétriques de la première dans le repère de base de la locomotive. Soit l'exemple suivant

CabViewFile ( Cab_Front.ace )    <- fichier image de la vue frontale
CabViewWindow ( 0 0 640 250 )
CabViewWindowFile ( AcWndFrn.ace )
Position ( -0.75 3.5 7 )   
<- position de l'oeil du conducteur dans le Repère de base x,y,z
Direction ( 10 0 0 )    <- direction du regard du conducteur dans le Repère de base

CabViewFile ( Cab_Gauche.ace )    <- fichier image de la vue gauche
......
Direction ( 5 -70 0 )        
<- aucune modification pour cette vue

CabViewFile ( Cab_Front.ace )    <- fichier vue droite = fichier image frontale "arrière"
CabViewWindow ( 0 0 640 250 )
CabViewWindowFile ( AcWndFrn.ace )
Position (
0.75 3.5 -7 )   <- position symétrique de l'oeil du conducteur dans le Repère de base x,y,z
Direction ( 10 -180 0 )    <- direction vers l'arrière dans le Repère de base

Bien sûr cette méthode ne permet pas d'avoir les indicateurs et les commandes visualisées en temps réel dans la cabine arrière. En utilisant le même fichier image .ace que la cabine frontale la cabine va même être dépouillée des aiguilles et des leviers.... Pour les revoir (fixes) il faut refaire une photo de la cabine avant et la transformer en fichier .ace. C'est cette solution que j'ai par exemple utilisé dans ma CC65500.

Une autre méthode consiste à modéliser la cabine arrière en 3D et à utiliser la directive de "vue voyageur" dans cette cabine. L'inconvénient est qu'aucune autre vue voyageur de la rame ne sera alors accessible. Mais je conseille tout de même cette solution pour les locomotives monocabines le plus souvent destinées aux rames marchandises comme pour mes Y7100 et Y8100

Dans le cas 2. le repère de base n'est plus le même car le véhicule n'est plus le même. Il n'y a alors pas d'autre solution connue que l'utilisation de la "vue voyageur" dans le véhicule de réversibilité. Toute autre "vue voyageur" dans la rame doit être supprimée et il faudra donc faire un modèle 3D de la cabine de réversibilité. C'est ce modèle qui sera appelé par la directive "Inside" dans le fichier .ENG ou .WAG du véhicule de queue.

Dommage pour la vraie "vue voyageur" supprimée alors que la rame réversible est justement une rame voyageur! Une astuce permet néanmoins d'associer une vue voyageur 2D à la vue conducteur 3 par exemple. Un bon exemple de cette solution est à voir sur la Z23001 de F.Cardon.

La vue voyageur

Une vue voyageur est en fait la visualisation d'un modèle 3D regardé depuis une position "interne" au modèle. Cette position est donnée dans le repère matériel standard à l'aide d'une directive INSIDE placée dans le fichier .wag du matériel considéré. Par exemple, pour les voitures USI :
	Inside (
            PassengerCabinFile ( v_USIb10i.s)  <- référence à la forme du modèle 3D de l'intérieur
               PassengerCabinHeadPos ( 0.9 2.4 0.1) <- position des yeux du voyageur dans le repère matériel
               RotationLimit ( 30 70 0 ) <- limites des rotations du regard dans les trois directions
(axe Ox de haut en bas, axe Oy de gauche à droite, inopérant)
StartDirection ( 0 0 0 ) <- angles de la direction initiale du regard Sound ( "genpasswagmodern.sms" ) <- sons entendus à l'intérieur )

En général la directive est placée en tête du fichier .wag avant la directive COUPLING. On voit ci-dessus que la référence à un modèle 3D peut être celle du véhicule lui-même ou un modèle 3D différent ne représentant que les éléments du modèle vus depuis une place voyageur.

Astuce : si une voiture n'a pas par défaut de "vue voyageur", il est facile d'en ajouter une. Il suffit d'insérer la directive INSIDE avec la référence au modèle véhicule 3D. Mais dans la majorité des cas, le résultat sera très médiocre car le modèle de véhicule ne comporte que très peu de détails intérieurs dans la mesure où il est réalisé pour n'être vu que de l'extérieur.

Il est donc préférable de modéliser en 3D l'intérieur du véhicule en une forme .s spécifique. Dans ce cas d'ailleurs, la plupart des éléments extérieurs ne seront pas modélisés puisque non vus.

De plus si l'intérieur du véhicule est éclairé la nuit, seul les matériaux xxHlfBright et xxFullBright sont utilisables dans ce modèle d'intérieur aussi bien de jour que de nuit. Comme ceux-ci anihilent les effets d'ombrage Gouraud sur les volumes, il faudra travailler les textures pour simuler les ombres et faire en sorte que les éléments intérieurs ne deviennent pas outrageusement plats. On voit tout de suite que ce sont les luminaires qui seront FullBright !

À suivre... 

 

 © 2002-2013 - PG - Mise à jour 20 mars 2013