admin

Tuto Q3Radiant
Inscription
Les Textures dans Q3Radiant
Les Blocs
Sommaire
Lumieres
Les Textures constituent un element essentiel a la beauté de la map (j'espere que je n'apprend rien a personne en disant ca).
Ainsi on va pouvoir appliquer n'importe quelles textures a n'importe quel bloc, de cette maniere, un cylindre poura contenir de l'eau et un cube de la brique, etc...
Je ne peux malheureusement pas vous lacher dans la nature comme ca sans vous avoir expliqué deux ou trois petite choses, car bien que le principe de texturer semble peut difficile au premiere abord, je pense tout de meme qu'un chapitre entier est necessaire.
Index

1. Introduction
2. Different Types
3. Bien Choisir
4. Bien Appliquer
5. Optimiser un peu
6. Textures Perso

2. Le type d'une Texture

Qu'est ce qu'il raconte celui la, une texture c'est un dessin c'est tout..... FAUX !
Une textures donne l'aspect visuel d'un bloc, mais surtout l'aspect physique d'un bloc !
Quesaco ?!? Et bien oui, il existe des textures qui, une fois appliquées, transforme le bloc en eau, en lave, en ciel, en fumé, et j'en passe.
Il le transforme pas a proprement dit, c'est juste que le moteur physique du jeu attribura de nouvelle caraceristique au bloc, sans pour autant modifier sa forme.
Voila quelque exemple de textures appliquées, à Gauche l'apercu sous Q3Radiant, à Droite le resultat une fois dans le jeu :
Etonnant :)

3. Bien choisir sa Texture

Vous l'avez sans doute constaté les textures sur les murs de mes screenshots sont sensiblement differentes entre la modelisation et la compilation.
Le motif reste le meme mais le rendu des couleur n'est pas pareil, c'est a cause de ou des source(s) lumineuse(s).
Pour le moment je vais considere que l'on travail avec une lumiere standard, ainsi les textures ne doivent etre ni trop sombre ni trop claire.
Ensuite il faudrait choisir seulement des textures faites pour Quake3 (importer les textures de Counter Strike ca donne pas terrible, Unreal ca va encore), souvant elles sont de bonne qualité et elles en jettent.
Voila quelque site pour les textures que je recommandes :

- HFX : http://hfx.planetquake.gamespy.com/textures.html
- KatsBits : http://www.katsbits.com/htm/textures.htm
- Berney Boy : http://berneyboy.planetquake.gamespy.com/textures.htm

4. Bien appliquer sa Texture

Il y a plusieurs methode pour appliquer une texture, la plus simple est encore de choisir le ou les blocs a modifier puis de selectionner sa texture preferé, alors on va deja voir comment on peut faire ca :
Donc on selectionne le ou les bloc(s) auquels on veut attribuer la texture (utilisez la CAM pour selectionner, c'est plus simple et souvant plus precis).
Une fois le ou les bloc(s) sélectionés, on va aller chercher la texture qui nous interesse, pour ce faire, il faut savoir ou elle se trouve (ca va etre un bon jeu de memoire >_<).

Par exemple, la texture diamond2c se trouve dans "base/base_floor", il faut donc ouvrir avec Q3R le dossier "base/" puis le dossier "base_floor/", ces dossiers ne sont rien d'autre que les dossiers de texture contenu dans vos pk3 :
Le pk3 en question est "pak0.pk3", oui oui, celui de 479,4 Mio.
On le decortique ?


C'est juste des dossiers imbriquer les un dans les autres comme partout ailleurs. Mais vous allez me dire, il est passer ou le dossier "Base" ?
Arf, c'est une bonne question, on va considerer que le pk3 de base pour faire fonctionner Q3 est "pak0.pk3", ainsi il est a la Base du jeu. Ainsi il est considerer comme le dossier Base des textures de Q3 et porte en toute logique ce nom. Tout les autre pk3, meme si ils sont dans baseq3, respecterons leur propre arborescence logique.
PS : On peut alors deduire de tout ceci, que si toute notre map utilise Uniquement les textures contenues dans "pak0.pk3", tout le monde pourra les voirent sans avoir a telecharger des pk3 supplementaire.
Bon on la selectionne cette texture !!!!
Pas de panique on y va, donc comme je disais juste au dessus, il faut selectionner le dossier "base/base_floor", alors ca se fait comme ceci :
Cliquez sur Textures > base > base_floor.

Il est normal que votre liste ne soit pas identique a la mienne, puisque je peux posseder des pk3 que vous n'avez pas et vice versa.
Ca peut prendre quelque secondes a charger, et la... Rien ??? Normal, toutes les textures sont charger dans le gestionaire de textures de Q3R, pour le voir il suffit d'appuyer sur [T].
Hey mais moi ca fait rien [T], c'est sans doute parsque vous avez reduit la console en cliquant sur sont bouton reduire (en haut a droite). Ouai c'est moi qui ai dit de le faire, :p mais moi j'ai le droit.
Pour que la console apparaisse grace a [T] il faut au prealable l'avoir reduite avec une des touches d'appel, la console ne contenant pas que "la console" plusieur choix s'offre a vous :
- [N] : Onglet "Entities"
- [T] : Onglet "Textures"
- [O] : Onglet "Console"
- [G] : Onglet "Groups" (affiche un message d'erreur si aucun groupe n'existe)
(Remarquez que c'est l'anagramme de TONG et que ca a rien a voir avec le tutoriel).

Nous utiliserons uniquement [T] dans ce chapitre.
Bon mais moi [T] ca marche pas !!!!!!!!!!!!!
Ah oui pardon. la console est reduite en bas a gauche de votre ecran, ressortez la simplement en cliquant dessus.

Une fois la console ressortie cliquez sur l'onglet "Textures" en bas a gauche de la fenetre.
Ca devrais ressembler a ceci :

Elargissez un peu la fenetre histoire d'avoir plus de visibilité.
Ceci etant fait, vous n'avez plus qu'a cliquer sur la texture tant désirée, et observer le resultat directement dans la CAM (appuyer sur [Echap] histoire de voir le rendu sans la couleur rouge de selection).

Cette texture etant vraiment sommaire peut importe son orientation, mais a present reselectionnez votre bloc et appliquez-y la texture rusty_pentagrate (toujours dans base/base_floor/ tout en bas).
Eheh ! la l'orientation est super important, la pointe est vers le bas, et vous avez une map diabolique, la pointe est vers le haut, une map marocaine.
J'exagere peut etre mais ca reste un exemple viable.
De plus il y a peu de chance que la texture soit parfaitement aligner du premier coups sur votre bloc, et que les proportions soit juste.
Dans le cas ou l'orientation du pentagone etoilé (toujours pentagramme pour ceux qui prefere (cf: ma page de download)), ne vous plais guere, il existe un outil de poid dans votre arsenal, le Surface Inspector.

Le Surface Inspector :
Pour l'ouvrir il suffit d'appuyer sur [S] (ou de passer par "Textures > Surface Inspector"), vous devriez voir quelque chose du genre :

O_o beuhhhhh y'a plein de case de tout partout :|
Oui c'est assez pratique comme outil, puisqu'il est assez complet.
Pour le moment oubliez toute la partie de droite ("Surf flags" et "Content flags").

Cette outil peu modifier l'orientation d'une texture, son sense (non c'est pas pareil >_<), ses dimentions, sont ratio, enfin tout ce qui nous faut pour bien appliquer sa texture.
Bon, on retourne notre pentacle ?
Mettez 180 dans la zone "Rotate".
Fini.

Explication :
Eh ho ! faut pas pousser, tout le monde a compris que 180° c'etait un demi tour.

Ceci fait on peut passer a l'ajustement, il faudrai, pour bien faire, étirer la texture pour que ses dimensions, quelque soit la face, soit exactement la meme que celle du bloc.
Cliquez sur "Fit" dans la partie "Texturing > Brush".
Fini.
Non seulement "Fit" etire parfaitement la texture au dimension du bloc, mais en plus la recale au bon endroit. C'est le meilleur ami du mappeur.
Eh ! mais moi je trouve que c'est pas joli je veux revenir comme avant, bon ben cliquez sur axial :/
Et si vous voulez modifiez vous meme les dimensions (plein de raison peuvent nous amener a le faire) voila une petite explication des outils du dessus :
- Texture : Adresse a la quelle votre texture se trouve (notez que l'extension (.jpg .png .tga) n'apparait pas).
- Horizontal Shift : Position de la texture en X (le point x0 est evidament a l'origine (la ou il y avait l'oeil au demarrage)).
- Vertical Shift : Position de la texture en Y (de meme qu'au dessus).
- Horizontal Stretch : Proportion de la texture en X (par defaut elle est a 0.5, c'est a dire que la texture est reduite de moitier par defaut).
- Vertical Stretch : Proportion de la texture en Y (de meme qu'au dessus).
- Rotate : On l'a vu tout a l'heure c'est l'angle de rotation en Degrée.


Pour la prochaine notion, il faut se rappeler de 2 raccourcis :
+ [CTRL] Clique molette sur la CAM : Remplace tout la texture de l'objet pointer, par la texture selectionnées dans la console. + [SHIFT] Clique molette sur la CAM : Remplace la texture de la face de l'objet pointer, par la texture selectionnées dans la console.
Reouvrez la console des textures ([T]) et deselectionnez tout vos blocs selectionné.
Maintenant choisissez n'importe quelle texture (de preference une qui est peu ressemblante a celles deja enployer).
Faite + [SHIFT] sur une des face de votre bloc, TIN NINNN !!!
Votre bloc possedes 2 textures a present.

Tout ceci est tres pratique car il n'y a pas besoin d'avoir la console de texture ET un bloc selectionner pour pouvoir appliquer une texture. La texture ayant ete selectionner au paravant, le reste tant que vous n'avez pas fermer le programme ou que vous ne changer pas de texture.
Ainsi vous pouvez appliquer la meme texture a une multitude de bloc tout au long de votre map sans avoir a resortir la console, ni meme a selectionner vos bloc.

Attention, en passant par cette methode il est impossible d'annuler, le [Ctrl] + [Z] ne fonctionne pas. Testez par vous meme pour vous en rendre compte, une erreur de raccourcis est vite arrivez donc pas de precipitation.

Encore autre chose, si vous n'avez pas touchez aux "Texture Lock" depuis le debut (vous pouvez etre curieux) vous avez due remarquez que lorsque vous bougez un bloc meme si sa texture est appliquée, la texture "glisse sur le bloc", si votre texture reste fixe par contre c'est que le "textures lock move" est activer. Tout ceci se trouve dans "Textures > Texture Lock > Moves" et "Textures > Texture Lock > Rotations".
Pour expliquer le phenomene de glissement voici une petite illustration :


Les coordonnees etant fixe, tout ce qui se base sur ces coordonnees seront a leur tour fixe, c'est le cas pour la texture, ainsi pour obtenir le resultat de droite (le pavé droit (le cube pas cubique !!)), le moteur de rendu aura en premier "visualiser" les coordonees 2D de chaque face puis leur aura appliquer la texture en fonction du repere orthonormé (en rouge).

Pour eviter que votre texture que vous venez d'ajuster au milimetre pres apres 2 jour de travail acharné ne se retrouve completement deplacer, il faut bloquer la texture sur le bloc, le moteur ne fait que dire que les coordonnées de depart de la textures est decaler de "tant" par rapport a sa position initial, pour un bloc secifique.
[Shift] + [T] : pour bloquer la texture sur le bloc lors de ses translations.
[Shift] + [R] : pour bloquer la texture sur le bloc lors de ses rotations.


5. Optimiser un peu sa map

Il faut savoir que plus il y a de textures unique ou en double, plus le jeu consomera de ressources, il est donc preferable d'utiliser le moins de textures possible.
Non je ne vous dit pas de faire une map a l'image du "Monochrome de Whiteman", votre map doit contenir un minimum de textures pour etre un minimum jolie, quand je dit le moins possible, je pense surtout a la 1ere methode de texturing que je vous ai appris plus haut, cette methode va appliquer une texture a tout un bloc, au lieu de l'appliquer seulement la ou il y en a besoin.
Petite illustration :

Dans cette image on vois que le meuble est collé au mur, donc toute la partie de derriere est impossible a observer (non l'humiditer ne va pas voiler le bois).
Il ne faut donc pas appliquer de texture au dos du meuble, et c'est pareil partout, le dessous de votre ordinateur, l'exterieur de la Boite qui represent votre piece, etc...

C'est tout pour le moment, c'est peu, mais c'est a l'heure actuelle tout ce que vous pouvez faire compte tenu que nous ne somme qu'au 3eme chapitre.

6. Importer ses propres textures

Tout a l'heure, je vous ai donner quelque liens pour telecharger des textures, si vous y avez jetté un oeil vous vous etes certainement rendu compte que toute les textures etait en .jpg, .tif, .png, ou encore .tga.
Elle ne sont donc pas directement utilisable dans Q3R, on va donc les rendres interpretable (faut pas avoir peur).
Pour commencer, munissez vous de vos images (votre oeuvre d'art faite avec Paint fait aussi l'affaire).

Etape 1 : Convertire en .jpg

Tout d'abord le moteur de Q3 ne gere que les .jpg et .tga, d'autre format fonctionne mais sont moins conventionnels, il faut par consequent que toute vos image soient de ce format.
Pour ce faire il vous suffit d'un programme, The Gimp, les connaisseurs trouverons ca peut etre excessif pour le resultat, mais le jeu de la transparence en vaut la chandel (je m'expliquerais plus tard).
Si vous avez PaintShopPro ou PhotoShop, ca fera tres bien l'affaire, mais toute mes explications de traitement d'image se ferons sur The Gimp, qui en plus d'etre gratuit, est tres puissant.
Je vais prendre en exemple 2 images, une texture standard, et une qui sera transparente.
Les voici :
e7panelwood2.jpg e7wgrate.jpg
Ces 2 images proviennes de HFX.

Pour la premiere (e7panelwood2.jpg), elle est en jpg, pas besoin de la convertir.
On va donc l'integrer a Q3R et a Q3. La manipulation n'est pas compliquer, il faut juste savoir comment faire :
Je vais donner un petit cours sur ces fameux "PK3" de Q3.
Avant toute chose, ce ne sont que des archives en .zip mais qui porte l'extension .pk3.
Vous pouvez donc ouvrir votre PK3 avec winzip ou winrar ou le logiciel gratuit Quick Zip sans souci.
Bon ceci etant dit, il faut etudier la structure d'un PK3, car Q3 recherche les informations a des endroits bien precis, a l'image du dossier "textures" qui doit contenir les textures (logique non ?).
Pour eviter de perdre tout le monde sur des explications longues et ennuyeuses je vais donner un exemple concret :
Je veux que mon dossier de texture porte le nom de "bddy", de cette maniere il apparaitra juste en dessous du dossier "base/" dans la section "Textures" de Q3R.
Alors voici comment je vais organiser mon "pk3" que je vais renommer par la suite "test.pk3".

Recreer la meme structure (reverifiez bien pour voir si le dossier "textures/" contient bien le dossier "bddy/" et que lui meme contient bien "e7panelwood2.jpg" la structure du PK3 est essentiel au fonctionnement de la manipulation).

Apres toute ces emotions, deplacer le fichier "test.pk3" dans votre dossier d'installation de Quake3Arena, plus precisement dans le dossier "baseq3/".
Theoriquement dans "C:/Program Files/Quake3/baseq3/".
Une fois ce fichier deplacé, redemarrez Q3R, il prendra en compte ce nouveau pk3 sauf si vous avez decoché lors de la configuration ([P]) "Use PAK/PK3 file(s)", si c'est le cas vous ne pourrez pas utiliser votre texture).
A present allez chercher votre textures :

Magique :)

ce qui devrais avoir pour effet d'afficher ceci dans votre console de textures :

Utilisez la comme bon vous semble elle est a present integrer a Q3R et aussi a Q3.

Etape 2 : Convertire en .tga

Pour la deuxieme c'est un peu plus compliqué. La texture doit etre traiter pour etre transparente au niveau des zones noires, ouvrons donc cette image avec The Gimp.

Ca devrais ressembler a peut pres a ca, sachant que l'aspect de The Gimp depend de sa version (je travaille sous The Gimp 2.0 FR).
Votre image est en .jpg ce qui veux dire qu'il lui manque 8bits pour gerer la transparence, il faut demander a The Gimp de les rajouter.
Cliquez sur "Calque > Transparence > Ajouter un canal alpha" (l'arboresence est a peu pres toujours la meme, calque en Anglais se dit "Layer" reprez vous aussi par les icons des outils).

Il n'y a plus qu'a selectionner les zones noires de l'images pour les rendre transparentes.
Selectionner la baguette magique ([Z]) :

Parametrer la baguette pour que son Seuil soit a "4.0", le seuil se trouve tout en bas des parametre de l'outil, si votre Gimp est en anglais, ce seuil s'appel "Threshold".
Cela permet de selectionner un plus ou moins large pannel de couleurs associé a la couleur selectionné.
Selectionner a present les zone noire de votre image grace a [MAJ] + Gauche.
[MAJ] permet d'additionner la selection a la precedente.
[Ctrl] permet de soustraire la selection a la precedente.
Une fois toute les zone noire selectionner ca devrais ressembler a ca :

Appuyer sur [Ctrl] + [X]
voila le resultat :

Il ne reste plus qu'a enregister votre image au format .tga.
Si une boite de dialogue apparait lors de l'enregistrement pour les options du format,
Decochez "Compression RLE", et cochez "Origine en bas a gauche".


Malheureusement la manipulation ne s'arret pas la, il faut preciser a Q3 des information sur la texture.

Il existe depuis 1995 environs ce qu'on appel les "Shaders", ce procedé crée par Pixar sert a paramétrer une partie du rendu réalisé par un moteur graphique.
Sans rentrer dans une explication inutile vu l'utilisation qu'on en fera, les shaders permet de modifier l'aspect visuel d'une surface, et par consequant, d'une texture.
Il faut donc creer un shader pour notre texture, heureusement pour vous, bibi est la pour vous donner tout ce dont vous avez besoin.

Commencez donc par creer un fichier texte, que vous allez renommer "bddy.shader" (au cas ou vous n'auriez pas remarqué, le nom du fichier est le meme que celui de mon dossier qui contient les textures, ce n'est pas un hazard).
Copiez tout ce qui suit a l'interieur de votre fichier "bddy.shader", enregistrer, c'est deja fini.
textures/bddy/e7wgrate
{
surfaceparm metalsteps
surfaceparm trans
surfaceparm alphashadow

cull none
nopicmip
{
map textures/bddy/e7wgrate.tga
blendFunc GL_ONE GL_ZERO
alphaFunc GE128
depthWrite
rgbGen identity
}
{
map $lightmap
rgbGen identity
blendFunc GL_DST_COLOR GL_ZERO
depthFunc equal
}
}
A present vous allez creer un dossier "scripts/" glissez y vote fichier "bddy.shader".
copier votre fichier "e7wgrate.tga" dans le dossier "textures/bddy/" pour compresser le tout comme suit :

A nouveau deplacer "test.pk3" dans le dossier "C:/Program Files/Quake3/baseq3/".
Relancer Q3R.
Sous Q3R la transparence n'apparaitra pas, seul Q3 interprete le shader, donc pas de panique si aucune transparence n'est visible.

Petit comparatif :
Avant

Apres


Telecharger test.pk3


Dans tout ceci nous avons vu que les shaders prennent des parametre particulier, entre autre de le type de surface, sa matiere, son aspect, sa transparence, etc...
Ainsi de la lave aura pour shader :
textures/liquids/lavahell
{
q3map_globaltexture
surfaceparm trans
surfaceparm noimpact
surfaceparm lava
surfaceparm nolightmap
q3map_surfacelight 600
cull disable

tesssize 128
cull disable
deformVertexes wave 100 sin 3 2 .1 0.1
{
map textures/liquids/lavahell.tga
tcMod turb 0 .2 0 .1
}
}
Mon manque de conaissance dans le domaine des shaders m'empeche de vous expliquez tout les detailles du codes, mais faite comme moi,
decortiquer les shaders de "pk0.pk3" pour avoir plein d'idee.
A partir de ce moment on peu comprendre que le ciel dont je parlais plus haut soit si particulier, car non seulement il bouge, mais en plus il emet de la lumiere.
Toute textures dites specials ne sont que des .tga avec un shader associer.

C'est sur ces mots que le chapitre se fini, nous pouvons des a presents nous attaquer a un bien dur chapitre :
Lumieres


Chapitre fini à 100%
Chapitre fini à 100%


Les Blocs
Sommaire
Lumieres
Yves Desgraupes le 06/11/07




46164 visiteurs depuis 03/2005

Il y a actuellement 1 visiteur
Dont 0 membre