TROISIEME ETAPE : Le ciel et ses nuages.

Retournons dans le catalogue des textures. Chargeons la bibliothèque "SkyBox.utx". On y trouve des textures à masque pour figurer de lointains reliefs montagneux. Tout en bas un coin de ciel nuageux. Sélectionnez-le. Allez dans la f3d. Palcez-vous dans la pièce où se trouve le bassin. BD sur le plafond et sélectionnez "Apply Texture SkytstAX". On peut aussi sélectionner d'abord la surface du plafond, puis la texture choisie dans le catalogue. C'est même plus rapide.

Bon, nous avons un sombre plafond nuageux et bleu. On dirait qu'on a peint un ciel. C'est bien tout ce qu'on a fait. On peut mieux faire pour le rendre plus "réel" : BD sur la surface qui fait apparaître les "Suface properties". Il y a beaucoup d'options que vous trouverez détaillées dans les chapitres spécifiques. L'onglet par défaut est celui des Effets spéciaux. C'est lui qui nous intéresse.

Il faut cocher "Unlit", qui rendra cette surface claire et brillante en toute circonstance, et "U-pan" ou "V-pan3 ou les deux qui va entraîner un défilement de la texture sur la surface, comme si un grand vent poussait les nuages. L'effet est déjà visible dans la f3d avc l'option d'affichage en temps réel active. Fermez la fenêtre, recompilez, sauvez et testez.

C'est pas mal, mais deux choses sont à observer. Le ciel n'éclaire pas la pièce, et si on tire dessus on se rend compte de sa proximité. De même si on saute sur place. Si on veut des effets plus recherchés, il faudrait ajouter une hauteur de plafond suffisante pour avoir l'éloignement du ciel. Mais les murs de cette pièce poseraient problème. il faudrait en fait qu'ils soient hors de vue, ce qui reviendrait à surmonter notre salle d'une très grande salle. eh bien c'est un procédé parfois utilisé, mais qui a ses limites : Si dans une pièce du voisinage, mais pas à la même hauteur, on veut faire aussi un accès à l'air libre, on peut vite se retrouver avec des problèmes colossaux.

Le moyen le plus simple est de créer un ciel une fois pour toutes et le plafond de chaque pièce en plein air sera affecté d'une propriété qui en fera une sorte d'écran associé à une caméra placée en plein ciel. C'est la boite-à-ciel ou "Skybox".

Retournons dans l'éditeur. BG sur l'outil "Cube" puis déplaçons la forme active ailleurs dans le niveau. Dans un endroit où on n'aura pas a priori à faire de construction. Centrons les différentes vues sur la FA. Appuyer sur le bouton "Cube" avec le BD. Choisir "Cube properties" dans le menu. Définissons pour cette nouvelle forme les dimensions h=256, W et B=512. Dans le catalogue, sélectionnons la texture nuageuse. Appuyons maintenant sur le bouton "excaver". La salle creusée est tapissée de nuées. BD sur le plafond. Dans les "Surface properties", cochons U-pan et V-pan. Fermer et désélectionner.

Dans le catalogue, sélectionner Classes/*Info/*ZoneInfo et avec les touches du clavier descendre à *SkyZoneInfo. BD dans la f3d et sélectionner toujours la deuxième ligne du menu déroulant "Add SkyZoneInfo here". L'icône qui apparaît est semblable à celle utilisée pour l'eau BG sur cette icône pour la sélectionner, aidons-nous des diverses vues pour la placer exactement au centre mais assez près du plafond, entre le centre et le plafond. C'est de ce point de vue que nous verrons le ciel à partir de toute surface du niveau à qui nous donnerons la propriété de voir le ciel. Il n'y en aura qu'un, comme dans la réalité.. Il faut encore donner de la lumière, ce que nous allons simplement faire par BD sur l'icône, sélection de "SkyZoneInfo propriétés"-->ZoneLight-->AmbientBrightness=0 -->255.
Fermons la fenêtre et désélectionnons tout.

Retournons dans le niveau (dans chaque vue, zoom en éloignement, recentrer, zoom en rapprochement) pour retrouver le plafond de la piscine. BD dessus -->Surface properties. Décocher U_pan, V_pan et Unlit. Cocher "Fake Backdrop" et close. On a ainsi donné un attribut de "faux arrière-plan".

Reconstuire, sauver et lancer le jeu. Le ciel est maintenant assez loin et étendu pour qu'en sautant sur place on voie bien qu'il ne colle plus au sommet des murs. Par contre si on tire dessus, on se rend compte que le projectile s'écrase trop près.

Construisons une feuille horizontale : BG sur puis déplacement de cette FA "feuille" (CTRL+BG+déplacement de la souris) pour la placer au milieu de la piscine, à SIX cases en dessous du plafond. Dans la vue de dessus, nous allons étirer cette feuille de telle manière que ses dimensions en longueur et largeur correspondent à celle de la pièce. Cette fois on va utiliser la technique manuelle. BG sur le bouton d'étirement par "pas" . Plaçons-nous en vue de dessus. Le curseur de la souris prend une forme de croix fléchée. LA touche CTRL+BG permet d'étirer sur l'axe X, en largeur. CTRL+BD étire dans l'axe Y. L'étirement se fait par "pas" d'une case de la grille, ayant ici la valeur de 16 unités. On peut de cette manière recouvrir exactement les limites de la pièce. Désélectionner tout et appuyer sur le bouton "Add special brush" en choisissant "Regular Brush" mais en cochant 2-Sided (sinon elle ne sera texturée que d'un côté, et il faudrait la retourner comme une crêpe pour voir le bon côté). se placer dans la f3d. On voit que la texture a été également étirée par cette manoeuvre. Parfois l'aspect convient, souvent il n'est pas désiré et oblige à redimensionner la texture. Nous y reviendrons car ici on verra rien puisque nous allons donner la propriété "fake backdrop" à cette surface. Fermez la fenêtre précédente, sélectionnez la surface avec le BD, cochez "fake backdrop" dans les "surface properties".

Recompilez, sauvez et lancez le jeu. Le mur a perdu un peu de hauteur car on a voulu ménager un faux plafond suffisant pour absorber l'explosion en dehors de la vue. Une feuille (même si elle a l'attribut "solid") n'est jamais un obstacle au passage d'un projectile ou d'un acteur. Donc si vous tirez dans le ciel, le projectile se perd dans le lointain. Il est préférable alors de prévoir une hauteur supplémentaire pour ce faux plafond.

En fait il y a une méthode plus simple : utilliser cette feuille 2D (en ajoutant en "ZonePortal" et pas en "Regular") pour créer une zone même très étroite près du ciel, et y mettre une "CloudZoneInfo". Tout objet qui y entre disparaît.. Donc la feuille peut être invisible et on ne perd pas de hauteur..