Aller au menu - Aller au contenu

Icône 8) Les displacements

Mise à jour : 24/01/2012
Difficulté : Facile Facile
3 090 visites depuis 7 jours , dont 88 sur ce chapitre , classé 48/777
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Petites explications

Que sont les displacements ?


Ahhhha, bonne question :)

Les displacements servent à donner du relief à une ou plusieurs faces d'un bloc. On utilisera les displacements pour créer des collines, des trous d'obus, des paysages vallonnés, des falaises, des tas de gravats et autres éléments qui demandent du relief.

Pour vous illustrer la chose, voici 2 images de maps où l'on voit des displacements.

Image utilisateur Image utilisateur

  1. La première image est un screenshot tiré du solo d'Half-Life² (c'est juste avant d'arriver là où il y a la grue, où vous devrez soulever le buggy avec). Sur l'image, les rochers faisant office de falaises ainsi que le sol sont displacés ; on leur a appliqué des displacements. Je sais, l'image n'est pas belle, c'est en rapport avec ma FX5500 :D
  2. La deuxième image est un screenshot de la map dm_avalon pour Half-Life²DM, réalisée par 3D-Mike, un ex-mappeur de chez Valve. Dans cette map, la quasi-totalité du décor est faite de displacements, ce qui donne un effet assez réaliste. Si vous ne connaissez pas cette map, voici sa page officielle : http://www.3d-mike.com/game/dm_avalon.htm.


Faites très attention : les displacements ne sont pas des blocs, cela veut donc dire qu'ils ne peuvent pas être utilisés pour fermer hermétiquement une map !

Paint Geometry

Préparation



Réaliser des displacements est en théorie très simple. Mais en pratique, ça l'est moins. Displacer un simple sol pour donner un peu de relief comme dans le premier screen est relativement simple. Par contre, les displacements de la map dm_avalon sont beaucoup plus compliqués à réaliser.

Créez un bloc, avec comme toujours la texture nodraw. Sur la face supérieure, appliquez une texture d'herbe (moi j'ai choisi nature/blenddirtgrass001a).

Bien. Reprenez l'outil d'application de texture et sélectionnez la face texturée. Dans la fenêtre de l'outil, il y a un onglet intitulé Displacement, cliquez dessus.

Image utilisateur
Image utilisateur
Pour le moment, nous ne savons encore rien faire. Cliquez sur Create pour créer un displacement. Une petite boîte de dialogue vous demande quelle est la « puissance » de displacement souhaitée. Vous avez le choix entre 2, 3 et 4. Laissez 3.

Comme par enchantement, toutes les faces non-sélectionnées de votre bloc disparaissent (dans la vue 3D). Seule la face sélectionnée subsiste ; elle est displacée. Votre face est « découpée » en triangles. Le principe du displacement est de modifier la position (verticale dans ce cas ci) des sommets des triangles, ce qui donnera un relief à notre face.

Image utilisateur


Le nombre de triangles est la puissance du displacement (l'option 3 dans la boîte de dialogue). Vous pouvez modifier cet attribut sous l'onglet Displacement du panneau d'application de texture, c'est l'attribut Power.


Création du relief



Image utilisateur
Vous êtes toujours sous l'onglet Displacement et votre face est toujours sélectionnée ? Bon, cliquez sur Paint Geometry. C'est cet outil qui va nous permettre d'élever et d'abaisser les sommets des triangles. Passez votre curseur sur votre face et vous verrez que votre curseur a encore changé de forme :)

La nouvelle fenêtre nous offre 2 options principales : Distance et Radius. Distance est tout simplement le nombre d'unités dont sera élevé ou abaissé un sommet. Radius est le diamètre de la grosse boule verte. Plus son diamètre est important, plus l'élévation ou la diminution sera large. Enfin, ce n'est pas facile à expliquer tellement c'est simple ^^ Faites 3 ou 4 tests en ayant modifié ces options :)

Pour élever ou abaisser un sommet, il suffit, dans la vue 3D de placer le curseur au-dessus du sommet et de cliquer soit droit, soit gauche.

Je vous conseille, pour mieux voir ce que vous faites, d'agrandir au maximum la taille de la fenêtre 3D, ce sera plus facile d'y travailler ;)


Le cas des displacements verticaux



Vous pouvez bien entendu, comme dans le cas des falaises, displacer des faces verticales. La technique est un peu spéciale, car vous n'allez plus augmenter au diminuer la hauteur des sommets, mais bien avancer ou reculer les sommets. Pour cela, vous allez devoir modifier l'axe sur lequel vous travaillez (X, Y ou Z).

Pour spécifier l'axe sur lequel vous travaillez, c'est la liste déroulante Axis du panneau Paint Geometry. Par défaut, vous travaillez en Face Normal, ce qui équivaut en fait à l'axe des Z (Z-Axis). Les axes verticaux sont donc soit X soit Y, tout dépend de la position de votre face. Modifiez simplement l'axe de travail et testez pour voir lequel est le bon ;)

Image utilisateur


Vertical et horizontal



Continuons dans l'optique des falaises :) Si la falaise n'était constituée que d'une face verticale, ça ne rendrait pas bien. Donc, les faces verticales et horizontales sont displacées de manière à former une courbure plus jolie.

Image utilisateur
Pour réaliser ce genre d'effet, il suffit de sélectionner la face du dessus ainsi que la face verticale et de créer un displacement.

Image utilisateur


Ensuite, il n'y a plus qu'à travailler les faces :)

Pour plus de facilité, vous pouvez sélectionner les 2 faces en même temps et donc passer de l'une à l'autre sans aucun problème ;)

Image utilisateur

Paint et Invert Alpha

Paint Alpha



Image utilisateur
Ahhhh, le Paint Alpha, que voilà quelque chose de très pratique :)

Bon, comment vous expliquer ce que c’est… Voici plutôt 2 images : la première sans alpha et la deuxième avec.

Image utilisateur Image utilisateur


Grace à l’alpha, on va en quelque sorte apposer une autre texture sur la première. Mais attention, on ne fait pas cela avec n’importe quelle texture. On fait cela avec toutes les textures qui contiennent blend dans leur nom. D’ailleurs, ces textures sont représentées avec les 2 types de couleurs dans l’explorateur de textures.

Image utilisateur


Ce fameux alpha permet de créer des sentiers (un peu comme dans la deuxième image), et de donner plus de réalisme aux décors et aux displacements.

Pour peindre l’alpha, il vous suffit de cliquer sur le bouton Paint Alpha de l’onglet Displacement. Le Paint Alpha s’utilise un peu de la même façon que le Paint Geometry.

Pour augmenter (ajouter) de l’alpha, cliquez avec le bouton gauche. Pour diminuer, cliquez avec le bouton droit.

Invert Alpha



Image utilisateur
C’est un outil qui permet tout simplement d’intervertir les 2 couches. Dans mon premier exemple, le sable deviendrait de l’herbe, et l’herbe du sable. Like this :

Image utilisateur


Ah oui, il se peut que in-game (dans le jeu donc ^^ ) ce soit le contraire. Pour résoudre ça, il vous suffit de faire un Invert Alpha dès que vous avez fini de peindre. Comme ça, in-game, les 2 couches vont s’échanger pour apparaître comme elles le devraient ;)

Noise et Sew

Noise, le générateur de terrain



Image utilisateur
L'outil Noise et un petit outil qui permet de générer du relief. Pour cela, il suffit de rentrer la valeur minimale d'élévation ainsi que la valeur maximale, et le tour est joué :)

Image utilisateur
La valeur minimale peut être un nombre négatif, ou un nombre positif.

Image utilisateur


Sew, l'égaliseur de terrain



Image utilisateur
L'outil Sew vous permet d'égaliser 2 (ou plus) displacements ensemble. Mais pour cela, il faut certaines conditions. Les displacements doivent être du même Power, se toucher et leur zone commune ne peut être qu'égale, 2 fois plus grande ou 2 fois plus petite.

Image utilisateur -> Image utilisateur

Subdivide

Image utilisateur
L'outil Subdivide est un outil très spécial, et c'est assez compliqué de vous expliquer concrètement à quoi il sert. Pour être simple, je vais vous dire qu'il sert à arrondir. Et pour vous le prouver, voici un exemple.

Faites un bloc, et créez-y des displacements sur la face supérieure et sur un côté. Sélectionnez ces 2 faces, et cliquez sur le bouton Subdivide puis admirez !

Image utilisateur -> Image utilisateur


En fait l'arête toute droite séparant les 2 faces a été incurvée et donne un arrondi parfait.

Je vais maintenant vous montrer 3 petites astuces.

Le 1er exemple, mais en mieux



Le problème de l'exemple ci-dessus, c'est qu'il reste des « coins ». Pour qu'il n'y en ait pas, c'est très simple.

  1. Créez 3 blocs identiques placés en ligne l'un à côté de l'autre
  2. Sélectionnez toutes les faces supérieures ainsi que les faces de côté (que vous comptez displacer)
  3. Créez un displacement
  4. Subdividez
  5. Supprimez les 2 blocs à l'extrémité, ne gardez que le bloc central

Image utilisateur -> Image utilisateur -> Image utilisateur -> Image utilisateur


La sphère



Alors là, rien de plus simple :

  1. Créez un bloc
  2. Sélectionnez ce bloc avec l'outil de sélection
  3. Créez un displacement. Toutes les faces du bloc seront alors displacées
  4. Subdividez, et admirez votre sphère


Le cylindre



C'est un peu comme pour « le 1er exemple mais en mieux ». Nous allons ici créer un cylindre, pour faire une colonne par exemple.

  1. Créez 3 blocs identiques les uns au-dessus des autres
  2. Sélectionnez tous les blocs, et créez un displacement
  3. Vous allez maintenant supprimer les displacements de TOUTES les faces supérieures et inférieures des cubes. Pour cela, sélectionnez la face, et dans l'onglet Displacement, cliquez sur Destroy
  4. Sélectionnez les 3 blocs, et subdividez-les
  5. Supprimez le bloc du dessus ainsi que celui du dessous. Il vous reste donc le bloc central qui fera office de colonne

Image utilisateur -> Image utilisateur

Techniques avancées

Je vais laisser là main à Tydax, qui va vous expliquer un peu plus en détail comment faire de bons displacements. Je vous ai expliqué la base, il va vous expliquer comment ne pas foirer vos emplacements !


Chapitre précédent Sommaire Chapitre suivant

Partager

6 commentaires pour "8) Les displacements"
Note moyenne : 3.92 / 4 (99 votes)
Pseudo Commentaire
Hors ligne JeRiCo # Posté le 26/09/2007 à 18:07:51

Très sympa ce tuto, Bravo ! Vivement qu'il soit complet :p
Hors ligne Thiedor # Posté le 26/07/2008 à 18:58:45
Avatar

Très bon tuto !!Mais tu peut toujours t'améliorer :D :p
Hors ligne Ctop37 # Posté le 02/09/2008 à 19:27:16

Très bon tutos dans l'ensemble j'ai beaucoup proressé! Merci!
Sinon je me demande c'est quoi la texture utilisé pour la flanc de la falaise?
Hors ligne CyberFoxar # Posté le 16/05/2009 à 23:29:45
Grroar
Avatar

eum... deja bonsoir/bonjour (je suis nouveau ^^ )

alor voila mon problème,je n'arrive pas a selectionner plusieurs faces en même temps....je pense que je n'ai pas coché les bonnes options dans le fenêtre textures car je fais ctrl quand je clique sur les faces(euh clik droit ou clik gauche o fait ?)en clik droit et bien ça m'applique la texture directement,est-ce normal ?
est-ce que ça doit me les mettre en surbrillance(ou en rouge...) ?
et comment ravoir les autres faces du cube après un displacement ?

merci de me repondre
Hors ligne Lpu8er # Posté le 22/09/2009 à 15:27:05
[R34n1m4T3d]
Avatar
Groupe : Anciens
Flux RSS

Ville : Grenoble
Pays : France métropolitaine
Études : Licence Professionnelle SIL (Système Informatiques et Logiciel)

Faites TRES attention avec vos displacements.

Si vous sélectionnez le displacement après coup, et que vous jouez un peu avec la camera, vous allez voir que l'épaisseur du solide semble quasi-nulle.
Les displacements, au sol, provoquent des problèmes à la compilation, si des physics sont placés dessus, ou si le displacement est adjacent au bord de la map (en somme, si le bloc displaced est l'un des blocs clôturant la map), notemment des "leaked".
La solution la plus évidente, pour ma part, est de couper horizontalement le bloc AVANT displacement, et de ne displacer que la face supérieure. Le bloc délimitant, en-dessous, reste alors en nodraw, et le displacement reste alors possible et non-buggué.
Ceci est en tout cas valable pour TF2.

Le or exit(mysql_error()), nom d'un chien !!!
(et apprenez à concaténer avant de le faire)

Oui, oui, c'est exit(), pas die() (alias, toussa). Tant qu'on y est, je mettrais aussi une gestion Exception PDO Error. Ca fera beau en signature.
 

Voir tous les commentaires