Transparence des verrières

Remarques préliminaires:
J'ai galéré un bon moment avant d'arriver à afficher correctement dans Condor mes planeurs avec une verrière transparente sans bug, ce qui suit est donc le résultat de mes expérimentations; Je ne peux malheureusement pas garantir que cela va fonctionner à tous les coups chez vous.
Il reste de nombreuses "bizarreries" dans la chaine de transformation entre le fichier de Wings3D et le fichier .cx de condor.
Comme par exemple:
L'objet ne s'affiche pas de la même façon dans l'Object Viewer du toolKit et dans Condor une fois placé dans une scène avec le Landscape Editor et ça c'est la pire des prises de tête que j'ai eu à régler.
Tout parait OK dans l'Object Viewer (et cela même si on le lance par "view" dans Landscape Editor, mais lorsque on regarde l'objet depuis une scène de Condor, il y a des bugs du style : tous les objets sensés être vus au travers de la verrière sont devenus invisibles ou seulement certains et pas tous....etc.
J'ai récemment constaté un autre problème qui va peut-être "perturber" vos expérimentations, c'est que aussi bien dans Wings3D que dans l'object Viewer je n'ai pas le même rendu suivant le PC où je travaille. Je pense que ces différences viennent de la carte graphique car en ce qui concerne les mises à jour de soft, les 2 pc sont aux mêmes versions des logiciels. Il est donc probable que vous ayez de petites différences d'affichage dans Wings même si vous reprenez exactement les réglages de mes captures d'écran.
La valeur de "l'opacity" d'un matériau, par exemple, ne donne pas le même résultat sur les 2 CG (j'ai peut-être loupé un paramètre de réglage quelque part, mais après avoir cherché de partout, je ne pense plus que cela soit cela)

--------------------------------
Dans un premier temps, sans trop de détails, voilà comment je créé mes verrières
Pour cet exemple on part d'un simple cylindre.
Dès maintenant je créé un matériau verrière :
(CD= Clic souris bouton Droit, CG = Clic souris bouton Gauche)
CD "material"
choisissez une jolie couleur bleue, par exemple

Choisissez le nouveau matériau , CD "assigner à la sélection

Pour avoir un premier aperçu de la transparence, on va modifier les caractéristiques du matériau
CD sur le matériau et mettre "OPACITY" à 0.9 par exemple. Cette valeur peut varier d'un PC à un autre, à vous d'expérimenter, ce choix peut être modifié à tout moment.(Taper le chiffre au pavé numérique, c'est plus facile qu'avec le curseur..

Voilà on devine maintenant vaguement l'intérieur de la section du cylindre (notre intérieur de cockpit) au travers du canopy.
Dans certains logiciels on pourrait s'arrêter là, mais si l'objectif est un "objet" dans Condor on est loin du compte.
Cela pour plusieurs raisons: - Pour le moment il n'y a rien à voir à l'intérieur de notre cockpit et même pour un modèle ultra simple, sans pilot ni siège.... il va donc falloir au minimum ajouter quelques facettes orientées dans le bon sens pour pouvoir visualiser le cockpit vide. Pour pouvoir "travailler" à l'intérieur, et pleins d'autres raisons que vous découvrirez plus tard , on va détacher la verrière du fuselage.
-Dans Condor la transparence n'est pas gérée avec le matériau ( le 0.90 d'opacity que l'on vient de mettre ne servira à rien au final), mais la transparence est gérée par la couche Alpha de la texture qui devra obligatoirement être au format .tga ou dds (format 24+8 bits)
Il nous faudra donc a un moment ou un autre ajouter une texture à notre verrière.
Il y a une troisième raison , sans doute la plus mystérieuse, c'est la façon dont direct_x gère la transparence relative des objets.
Il faut relire l'article cité par "CALU" dans le sujet "AptCndr" du forum http://www.condorsim.fr/communaute/topic8462-30.html#p83381
Pour simplifier le problème, on va dire que l'ordre dans lequel sont créés les objets a une importance capitale sur le résultat final.( la distance aussi mais là je n'ai pas encore tout cerné ni compris)
Au travers d'un objet transparent on ne verra pas un objet créé après l'objet transparent ,... on y reviendra plus tard.
On va donc dans un premier temps détacher notre verrière.

ON sélectionne à nouveau notre verrière : CD sur le matériau et "select"
Passer par le menu "sélection" et sauver la sélection.. Puis Cd dans la fenêtre géometry et "extract Z touche tab et taper -1
Dans la fenêtre "geometry" renommer le nouvel objet en "verrière

RE menu "sélection" + "recall sélection" et touche "Suppr"

Avant de remettre la verrière à sa place on va créer un "début" d'intérieur,
La face qui ferme notre fuselage a "hérité" du matériau de la verrière, on commence donc par lui remettre le mat par défaut. Sélectionner la face , Cd sur le mat par défaut et assign to sélection, Sélectionnez encore une fois la face comme sur l'image, CD dans la fenêtre "geometry" et faites un .inset. en créant un tout petit bord qui va représenter l'épaisseur du fuselage, puis un extrude dans le bon sens , sans aller trop bas pour ne pas déborder vers l'extérieur

Pour ce petit tuto j'ai fait en plus un CD intrude , ce que je ne fait pas pour mes vrais planeurs où je préfère faire plusieurs "extrude" pour contrôler mieux le nombre de facettes créées.

Voilà on en a presque..:_) terminé avec les travaux préparatoires
Mais si vous tournez un peu la vue, on voit que la verrière a aussi une face qui "ferme" le dessous et que bizarrement , elle a elle hérité du mat par défaut.
Dans le "making of" du DG300, je vous avais dit que je supprimais cette face par un "hole"; mais finalement on peut aussi la laisser. C'est au choix.
Mais si on la laisse il faut lui affecter le mat "verrière". !!

Bien, maintenant on peut remettre la verrière à sa place. Tout semble OK , mais si vous exportez à ce stade en 3ds pour le convertir en cx , cela ne fonctionnera pas . L'object Viewer vous laissera encore croire que c'est Ok , mais une fois l'objet placé dans la scène avec landscape Editor , il n'y aura rien de transparent. Il faut absolument une texture pour la verrière (et le ou les autres objets aussi d'ailleurs).
Les planeurs de Condor utilisent un ficher "glass.tga" que l'on trouve dans les dossiers des planeurs dans le dossier "Planes". Pour cet essais on va utiliser un de ces fichiers, (faites en une copie dans votre dossier de travail de wings), on pourrait en faire un soi même, en créant une texture pour la verrière, mais la technique pour faire un .tga avec une couche alpha avec les bons paramètres varie tellement d'un soft à un autre qu'il me faudrait faire une paire de tutos spécifiques à chaque soft rien que pour la couche alpha. (on en trouve de très bons sur ce sujet sur le web il suffit de demander à Google).
On passe donc par le menu "File" de Wings et on choisi "IMPORT IMAGE" et sélectionnez votre Glass.tga là où vous l'avez copié.

l'on va maintenant affecter cette image au matériau "verrière" sans se préoccuper de créer une texture avec l'UV map. Il est bien sûr possible de faire comme pour toutes les autres textures en créant une map, mais cela n'est pas indispensable.
On fait un CD sur glass.tga et on choisi "pic up image"
ON fait un CD sur le matériau "verrière"
et on choisi "Drop picked objet" dans le pop up on choisi "Diffuse"

Avec la texture appliquée, notre objet à changé un peu d'aspect en mode "object" comme en mode lissé. ci-dessous

Mode lissé (icône dans le cadre rouge)

En passant je signale que j'ai mis quelques arrêtes en "hard": Le contour de la verrière et les bords du fuselage le long de la verrière; cela améliore entre autre le rendu du lissage dans Wings et normalement dans les fichiers 3ds et .cx (mais je ne suis pas convaincu que cela fonctionne à tous les coups dans les .3ds et .cx)

A ce stade, on va faire un premier test d'export en 3ds, mais je sais déjà que tout ne sera pas OK...
Pour que l'objet soit visible même avec bug dans Condor, on va la mettre à la bonne altitude.. c.à.d. avec un "Z" juste au dessus de 0 pour que l'objet semble posé au sol.

Vérifier les options d'export vers 3ds et cocher les 2 options dans le cadre rouge.
une fois exporté, transférez le fichier dans le dossier Toolkit, sans oublier d'y mettre aussi le fichier glass.tga , puis conversion avec "l'Object Converter" et enfin visualisation avec "l'Object viewer".

C'est pas très beau, mais comme on n'a pas fait de texture pour le bout de fuselage , c'est normal . y plus qu'a copier ce fichier dans le dossier "objects" de votre scène, de modifier le chemin du fichier glass.tga dans le fichier cx. (relire le tuto de Xavier sur les objets dans le forum si cela pose problème)et de placer l'objet quelque part de préférence en bord de piste. ( pour ne pas avoir à le chercher pendant des heures dans Condor...:-)

et voilà le résultat !

le fuselage est tout blanc, mais ça c'est normal ,je rappelle qu'on n'a pas fait de texture,
Ce qui est déjà moins OK , c'est qu'on ne semble pas voir l'intérieur du fuselage...grrrrrrrrrrrr!

Là, On voit qu'il y a un pb. on voit le terrain, un petit bout de l'aile de mon DG300 au travers de la verrière, mais pas mes arbres au fond

Pb confirmé sur cette autre vue, on voit mes autres objets, pas les arbres et l'intérieur du fuselage n'est pas creux , on ne voit pas les facettes créées à l'intérieur du cylindre....Il va falloir retourner dans Wings :-) Il s'agit du pb évoqué en remarque tout au début sur la position et l'ordre de création des objets, mais je suis incapable de vous dire concrètement pourquoi on ne voit pas les arbres par exemple, ni pourquoi cette fois ci , on voit mes autres objets, cela arrive que l'on ne voit rien du tout...mais à défaut d'explications concrètes... on va trouver une solution qui fonctionne.:-)

Pour illustrer le pb des objets créés après le la transparence de la verrière j'ai rajouté un cylindre qui traverse de par en par la verrière, et le fait que l'on ne le voit pas totalement dans Wings en mode objet en tout cas n'est pas "bon signe", si cela arrive ce n'est pas la peine d'aller plus loin.. le 3.ds et le cx sont voués à l'échec.

Étonnamment on le voit en mode Lissé ???

Pour améliorer la visibilité , j'ai ajouté un matériau pour le cylindre ajouté et une texture pour le fuselage où j'ai mis l'intérieur en mauve .

Pour faire croire à Wings et au futur fichier.3ds que la verrière est le dernier objet créé, on va la supprimer provisoirement et la ré importer dans le fichier en cours.
Sélectionner la verrière, l'exporter en 3ds, avec les options habituelles et avec un nom différent de celui proposé par défaut

La supprimer de la scène en cours avec la touche "Suppr". On peut aussi supprimer le matériau et l'image Glass car ils seront réimporté en même temps que le fichier 3ds.
Si vous oubliez de le faire(comme moi d'ailleurs dans ce tuto), ce n'est pas grave, mais vous vous retrouverez avec 2 textures "glass" dont le 2ème aura automatiquement le nom "Glass2". Il faudra alors supprimer en premier le fichier "Glass" avant de renommer le "Glass2"

Après avoir importé le fichier 3ds on constate tout de suite le changement, le cylindre ajouté est maintenant visible en mode "objet" et en mode "Lissé".

Après les même manips que précédemment , le test dans "Object Viewer" .Tout est visible , y compris l'intérieur que j'ai mis en mauve dans le fichier texture. On croise les doigts et on refait toutes les manips pour le "mettre dans Condor".........Pas plus de 1' lorsque vous l'aurez fait autant de fois que moi... ;-)

le temps de redémarrer Condor, un petit départ au treuil pour tout de même voler un peu de temps en temps... et voilà le résultat.
Cette fois ci on voit l'intérieur c'est sûr, on voit le cylindre ajouté, certes sans sa couleur jaune car je n'ai pas pris le temps de lui faire une texture,.
Reste à fouiller un peu pour voir si tout est OK.

On voit toujours les objets (le DG300) ouf, mais il y a toujours le pb des arbres à l'horizon, ggrrrrrrrr!! (désolé mais je n'ai pas trouvé à ce jour) Pour info ce sont des arbres de la Forest map; ceux que l'on met individuellement avec le Landscape Editor sont visibles.

En passant encore un truc bizarre, dans le ciel on voit les nuages d'altitude, mais pas les cumulus ???

Et un petit dernier pour ceux qui veulent se casser la tête : on voit l'ombre de mon ASG29 mais pas le planeur

Conclusion provisoire:
Il reste quelques mystères à éclaircir, mais dans la majorité des cas cela ne sera pas visible en survolant un objet dans une scène.
Ce qu'il faut retenir pour un objet, planeur, avion , tour de contrôle ou autres c'est qu'il faut détacher la partie transparente et en faire un fichier indépendant que l'on re importe à la fin . c'est surtout vrais pour une verrière où vous aménagez l'intérieur du cockpit après avoir fait la verrière. Voilà c'est tout ce que j'ai trouvé à ce jour , je n'ai pas d'autres secrets...