Résumé de la leçon précédente : -comment découper le mesh (séparer les rails du support en béton... et même plus !!!)
Elèves Milouse et Xawxx, bravo, vous avez 16 sur 20.
Elève Papyref, au tableau !
au tableau... d'honneur ?
Vous me copierez 500 fois "dock-dock-docking" !!! oui, m'sieur... mais avant je dois faire atterrir ma navette spatiale !!!
Allez, on y va......
Dans cette leçon, je vais vous expliquer :
- comment texturer les morceaux obtenus
- comment recoller tout ça
- et bien sûr comment exporter le tout en fichier msh texturé et accepté par Orbiter.
Donc, nous avions sérieusement simplifié et coupé en menus morceaux notre belle rampe de lancement.
On avait ça :
Vous remarquerez que j'ai donné un nom à chaque morceau afin de s'y retrouver....
Alors repartez dans le menu objets et exportez
un par un chaque objet en obj (avec un nom explicite pour pas s'y perdre)
(menu => export...) choisir dans le menu déroulant "type = wavefront (*.obj)
Nous avons nos 5 morceaux :
Maintenant lançons UVMapper.
Avant tout mouvement, essayez de régler la fenêtre pour qu'elle soit à peu près carrée. (Sinon on aura du mal à garder les bonnes proportions des formes).
Puis "chargeons" notre fichier (menu => load model...) ou Ctrl+L, puis validez.
choisissez tout d'abord "poutre" car c'est le plus long.
[/URL]
Puis New UV Map => cylindrical et axe=x (le reste n'a pas d'importance)
On obtient ça :
il va falloir redimensionner tout ça :
- sélectionnez le tout (Ctrl+a)
- essayez d'obtenir ceci :
- Maintenant sauvez l'objet (menu File => save model) et donnez lui un autre nom (j'ai l'habitude de lui garder le même nom suivi de (txt) pour simplicité)
- et sauvez la "texture" (menu File => Save Texture Map), donnez si ce n'est pas le cas les dimension 1024x1024 et gardez le nom suggéré.
Voilà, notre "poutre est texturée !!! Simple, isn't it ??
Même chose pour les autres morceaux.
Là, je vous laisse vous débrouiller.
Parfois il faut tâtonner et voir ce que cela donne avec "plana", box, etc... et attention aux axes, et si c'est "vertical" ou "horizontal".
Tout ceci est intuitif.....
MAIS.... AVANT ON A UN TRUC A FAIRE !!!!
Ben oui, le but c'est d'avoir plusieurs zones de textures sur un même carré de 1024x1024 pixel....
Alors il nous faut un repère, sinon il y aura du chevauchement dans l'air !!!
Prenons donc notre logiciel de dessin, pour moi c'est Photoshop.
Ouvrons notre bmp obtenu (il s'appelle "Poutre(txt).bmp")
Ensuite :
- image => mode => couleur rvb (sinon on aura pas toutes les options de sélection etc...)
- outils de sélection "baguette magique" avec "pixel contigus" désélectionné
- clic, et supp.
tout ça pour obtenir un calque
uniquement avec les repères . Nommez-le avant d'oublier.
Mettez un calque de fond blanc dessous, c'est plus lisible.
Sauvez votre fichier avec les calques. (psd avec photoshop)
Puis faites-en une copie en bmp. appelez-le "Texture-rampe-01.bmp" (par exemple).
Maintenant ouvrez avec UVMapper ce bmp (Ctrl+b)
Voilà, on a le repère.
Maintenant texturez les autres morceaux.
A chaque fois il vous faudra :
- sauver l'objet texturé *(txt).obj
- sauver la "texture-Map" (*(txt).bmp (attention à indiquer 1024x1024 comme dimension)
- ouvrir ce bmp dans photoshop, le coller dans votre future texture (le fichier "Texture-rampe-01.psd") en tant que nouveau calque (penser à régler en "mode rvb")
- donner un coup de baguette magique pour ne garder que les repères (traits noirs)
- sauver le psd
- faire une copie en bmp (écraser votre ancien fichier "Texture-rampe-01.bmp")
- le charger dans UVMapper (Crl+B)
... et on passe au morceau suivant, et la boucle recommence.
(astuce : la touche "tab" permet de rendre visible ou pas l'image-repère. Pratique)
Au final, voici ce que j'ai fait :
Il est à remarquer que je n'ai pas optimisé !
En effet, pour les "pièces" obliques", on peut les "redresser" avant le texturage, ça prend moins de place.
Mais ensuite il faut les redresser dans le logiciel 3D.
Je fais ça pour Kourou, mais là, j'ai un peu la flemme....
Nous avons donc notre "patron" pour le texturage.
Maintenant il nous faut récupérer les 5 morceaux texturés dans anim8or, les recoller, et reconstruire la rampe.
On y va ?
Pour chaque morceau, on fait "menu => objet => import".
Un p'tit coup d'œil au menu "objet" ???
Ouille !! ça commence à être encombré, tout ça... Z'en faites pas, on fera le ménage à la fin...
Mais vous comprendrez que le choix des dossiers de travail, de sauvegarde, les noms de fichiers... il faut être assez rigoureux, sinon on a vite fait de s'y perdre...
Imaginez mon add-on pour Kourou
....
Tout ceci à l'air fastidieux, mais avec un peu d'habitude cela va très vite. Mais comme pour tout, au début on galère....
D'où mon slogan : "plus on rate, plus on a de chances de réussir"... (le Comcombre masqué, de Mandyka).
On recolle les morceaux ?
Créons un nouvel "objet" (menu Objet => New)
commencer par prendre l'habitude de donner un nom (menu Setting => object)
Je vais l'appeller "ENSEMBLE TEXTURE" pour bien le voir, et je vais coller dedans tous les "morceaux" texturés.
Résultat :
Ouf ! Maintenant, ce n'est plus que de l'amusement...
Pause, allez prendre un Fanta, je vous attends....
***************************************************************
Hop, on reprend.
Allez, après toute cette partie rébarbative, si on s'amusait un peu ???
Voilà. Au lieu de continuer, on va voir si le bout qu'on a fait (et donc texturé, rappelez vous, c'est le but) ça marche...
Alors pour le fun, on va le mettre dans Orbiter.
Si vous avez suivi jusqu'ici, vous devez savoir le faire.
Retournons dans notre anim8or où notre rampe bancale nous attends de pied ferme...
Menu object => export... et type=msh. On l'appelle Ramp.
Ecraser le précédent ? oui si on a mis le précédent ailleurs (dans Orbiter, là on est ailleurs).
Non, si on travaille directement dans Orbiter. (choix à discuter).
Dans ce dernier cas, petite sauvegarde rapide : si winzip est installé, click droit sur le fichier, et voilà l'ancien "rampe.msh" zippé, sauvegardé. En 2 secondes !
Alors on écrase.
S'il n'est pas dans le bon répertoire, on copie/colle, et on écrase. (mais après le coup du zip) !
Et on lance Orbiter....
Arrrrghrogntudjuuuu.... l'est tout blanc ????
Ben ouiiiii c'est normal...
Vous vous rappelez que je vous avais dit que les coordonnées des textures y sont, mais le fichier texture est ignoré car... pas déclarée !!!
Alors cette fois ci on va pas s'embêter... On ouvre notre fichier de sauvegarde, on copie les lignes materials+texture et on colle dans le nouveau, en remplaçant les siennes !!!
Donc
MATERIALS 1
-- default --
MATERIAL -- default --
0.878431 0.878431 0.878431 1.000000
0.878431 0.878431 0.878431 1.000000
1.000000 1.000000 1.000000 1.000000 20
0.000000 0.000000 0.000000 1.000000
TEXTURES 0
va être remplacé par
MATERIALS 1
Blanc
MATERIAL Blanc
1 1 1 1
1 1 1 1
1 1 1 1 0
.1 .1 .1 1
TEXTURES 1
Hawxx\test.dds
Maintenant il faut affecter le n° de texture avec les groupes (il y en a 5, vous vous souvenez ) ?
Meshwizard est-tu là ? Oui ?
Clic clic clic et voilà..... (ça prends 30 secondes).
Ah mais... et la texture ? Eh oui, dernière chose, faut la faire... du moins du provisoire...
Photoshop et en 2 mn on peut avoir ça :
Allez, on regarde ???
ça maaaaarche !!!!!
Alors on essaye avec la texture voulue ? Hein ? Hein ?
Bon, d'accord. Je fais vite, je pinaillerai plus ensuite...
Hop !
Et bien voilà....
De plus près ?
A part la longue poutre, c'est pas mal. Eh oui, les longs objets, si on veut une jolie texture, il faut les faire en plusieurs morceaux....
1024 pixels pour 100 mètres (longueur de la rampe) ça fait 10 pixels par mètres.
Mais comme cela sera recouvert par les rails, ça va passer....
Ah oui, les rails....
Bon. Comme je vous sent fatigués, allez dormir, la classe reprends demain....