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.