Textures environnementales

De EncyclopAtys

Révision datée du 3 décembre 2021 à 11:52 par Dorothée (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

en:Textures
fr:Textures environnementales

Conception et préparation des textures environnementales

Tutoriel en cours de finalisation

Les textures environnementales sont celles qui sont utilisées dans le modeleur 3D (actuellement 3DSMax) sur les quadpatch qui serviront à représenter l'environnement (sol et reliefs naturels). Elles doivent être conçues selon un format très précis et ensuite préparées au sein de tileset (ensemble de tuiles d'un ensemble de textures similaires) elles-mêmes regroupées au sein d'une tilebank, qui permet de peindre l'environnement complet d'un type de continent.

Créer les images

Il faut créer des Tiles (tuiles) de 128x128 pixels exactement ou de 256x256, qui doivent impérativement respecter des contraintes de contenu : la bande de pixels en haut et en bas doivent être identiques au sein d'un même tileset, ainsi que la bande de droite et de gauche. Cela permet au système de surimposer ces deux bordures pour ne faire qu'un pixel au final dans le rendu.

Tiling 01.png


Pour les textures de 256, il faut les envisager comme un assemblage de 4 tuiles de 128x128, il faut donc que la périphérie soit juxtaposable avec les tuiles de 128 du même tileset.

Tiling 02.png

Les parties centrales devront quant à elles être fondues l'une sur l'autre, comme si c'était deux tuiles de 128x128, il faut donc éventuellement en tenir compte dans son motif (les deux lignes de pixels au centre se confondront en une seule).

Exemple : partons d'une image haut définition d'un sol : [http:www.cgtextures.com/texview.php?id=5611&PHPSESSID=k872lvlfkds965i1un8a43o4b1 Gravel0031_1_L.jpg] récupéré sur l'excellent site [http:www.cgtextures.com cgtextures.com].

Je la réduis de taille au quart, pour augmenter le piqué et le contenu de petites zones. Je fais une sélection de 128x128 pixels, Ctrl+C / Ctrl+V > Coller comme nouvelle image. J'ai désormais une image de 128x128 pixels.

Je vais déjà la rendre répétable pour qu'elle soit visuellement non choquante quand on la recopie bout à bout. Il existe des filtres mais je tiens à contrôler la chaîne de bout en bout, et à rendre cela plus explicite pour ce tutoriel.

Je fais Calque > Transformer > Décalage (Offset en anglais)

Tiling 03.png

J'obtiens donc un décalage de mon image qui part de :

Tiling 04.png

et on obtient :

Tiling 05.png

On devine les jonctions dues au décalage vers les parties médianes de l'image, je corrige donc cela avec l'outil Tampon par exemple, ou en redessinant manuellement, à ma convenance et j'obtiens :

Tiling 06.png

On peut alors éventuellement refaire un Décalage, pour retrouver l'image originale, mais désormais avec des transitions douces sur le pourtour.

Pour être certain que les bordures correspondent parfaitement, je sélectionne une bande de 1 pixel tout en haut et je la copie tout en bas. Je fais pareil avec les bandes tout à gauche et tout à droite. Puis je sélectionne une bande 1 pixel tout autour de l'image et je la copie/colle dans un nouveau calque que je nomme "bordure"

Tiling 07.png

C'est cette bordure que je dois conserver pour chaque image. Je peux désormais faire d'autres sélections dans mon image de référence et les copier dans un calque sous cette bordure, leur appliquer les mêmes traitement qu'à l'image première et à chaque fois exporter le résultat dans un nouveau tga non compressé, en respectant les conventions de nommage pour les images d'un tileset : [NAME]-[128/256]-[ID]_[sp/su/au/wi].tga La partie [NAME] peut s'organiser en sous-parties à définir : par région, par surface de destination (sol/parois), par type de sol... Je sauvegarde mon fichier gimp avec le calque nommé comme le numéro de cette première tuile dans la série :

Tiling 08.png

Je répète l'opération d'import de plusieurs sols et à chaque fois, je fais le décalage et je m'assure que la jonction avec le calque de bordure se fait de façon diluée. Je nomme chaque calque en fonction du numéro d'[ID] que le tga correspondant possède, de façon à pouvoir facilement retrouver/modifier ma source. Cela sera d'autant plus important lorsque je voudrai réaliser les tuiles correspondantes à une autre saison, en changeant les couleurs, ajoutant des détails ou autres. Il est bon de créer un minimum de 4 à 6 tuiles de 128x128 pour un tileset. Cela permet d'avoir un rendu varié. Pour plus de commodité, je range toutes ces premières tuiles dans un dossier de calque du nom et des caractéristiques de cette série :

Tiling 09.png


Créer la Tilebank

Une Tilebank (bibliothèque de tuiles) est un ensemble (généralement lié à un écosystème) de Tilesets, groupe de tuiles (textures) présentant un type de surface. C'est avec cela que l'on peint sur les terrains.

Lancer le logiciel de création de TileBank. C'est le logiciel tile_edit_r.exe (Windows only) dans les [http:ryzomcore.atlassian.net/wiki/display/RC/Downloads+for+Windows|NelTools] à télécharger et installer.

Cliquer gauche sur le bouton à côté de "Absolute path"

Tile bank manager step 00.png

Changer le chemin pour celui des tuiles de texture. Si vous partez d'une installation Ryzom Core, ce sera a priori :

W:\Database\landscape\_texture_tiles\

Créer le premier type de terrain

Cliquer sur Add land

Tile bank manager step a.png

Appeler ce terrain à votre convenance (un nom d'écosystème semble le plus pertinent), ashtarie dans notre exemple

Tile bank manager step b.png

et cliquer OK.

Tile bank manager step c.png

Cliquer sur Add tile set

Tile bank manager step d.png

Appeler ce terrain (voir les Conventions de nommage) selon son aspect, cela sera plus commode de se repérer, 'grass' dans notre exemple

Tile bank manager add tileset to land a.png

Tile bank manager add tileset to land b.png

cliquer OK.

Tile bank manager add tileset to land c.png

Créer un second type de terrain

Cliquer sur 'Add tile set' pour avoir un second modèle de terrain pour cet exemple, vous devez en ajouter autant que vous en aurez besoin dans votre écosystème.

Appeler ce terrain (voir les Conventions de nommage) selon son aspect, cela sera plus commode de se repérer, 'moss' dans notre exemple et cliquer OK comme précédemment.

Attribuer les textures aux Tilesets

Sélectionner un Tileset ('grass' dans notre exemple) et faire Edit tileset

Tile bank manager edit land.png

Une nouvelle fenêtre apparaît, qui va permettre d'ajouter les images à ce tileset. On remarque plusieurs zones :

  • Texture : qui permet d'indiquer la nature de la texture, diffuse ou additive (alpha ne peut être choisi Size : qui influe sur la taille avec laquelle la texture sera utilisée dans l'éditeur ;
  • Texte info : Qui permet d'afficher soit le numéro d'index soit le nom de chaque image en dessous dans la partie droite
  • Tiles : qui indique de quel type de tuiles (tiles) il s'agit : leur taille pour les textures affichées ou s'il s'agit de texture de transition (des tuiles avec un alpha qui permettent des transitions entre tilesets) ou encore de Displace (qui altère visuellement la géométrie du sol pour le rendre moins uniforme).

Tile bank manager add bank.png

Les textures Diffuse

On va commencer par ajouter des textures de type Diffuse, 128x128 : on sélectionne donc ces deux options dans Texture et dans Tiles

Tile bank manager add diffuse 128.png

Clic-droit dans la zone vide à droite et sélectionner Add

Tile bank manager add menu.png

Naviguer jusqu'à l'endroit où sont conservées les tuiles de cette série (en TGA non compressé), toutes les sélectionner et valider. Elles sont ajoutées. Refaire la même chose pour les textures de 256x256, également de type Diffuse : on sélectionne ces deux options, clic-droit et sélectionner Add puis ajout des fichiers.

Remarque : On peut ensuite ajouter des textures Additives, de la même façon mais je n'ai pas trouvé exactement à quel usage on destine ce genre de texture. J'en ai vu pour représenter les zones incandescentes à l'extrémité des branches de la Forêt Ardente de Ryzom, mais je ne sais pas exactement l'usage théorique.

Les textures de transition

Une fois ces textures enregistrées, on peut ajouter les textures de transition, qui permettront d'avoir des liaisons agréables à l'oeil entre les différents matériaux.

Sélectionner Texture > Diffuse et Tiles > Transition

Tile bank manager add diffuse transitions.png

Sélectionner chacune des textures dans la fenêtre de droite, clic-droit> Replace et choisir aléatoirement une autre texture dans la même série.

Sélectionner Texture > Alpha et Tiles > Transition

Tile bank manager add alpha transitions.png


Faire clic-droit > Batch load et aller dans le répertoire 'Transitions' (si vous utilisez les données graphiques Ryzom Core) et choisir le 'alpha_noise_00.tga', cliquer ok. Une fenêtre demande si vous souhaitez utiliser la rotation des tiles alpha, accepter.


Les textures de displacement

On peut ensuite ajouter si on le souhaite des tuiles de Displacement, c'est facultatif (et il n'est pas certain que ce soit implémenté).

Sélectionner Tiles > Displace et remplir au moins 6 cases avec des textures en niveau de gris qui serviront à déformer le terrain.

Tile bank manager add displacement.png

Lier les tilesets à des effets de de contact

Enregistrer tout cela, fermer et revenir à la fenêtre 'Tile bank manager'

Sélectionner sa tileset et indiquer dans 'Surface data' le numéro de surface de cette texture. Ces numéros conditionnent le son émis et les systèmes de particules utilisés lorsqu'on marche sur ce tileset.

Par défaut dans RyzomCore, on sait que : 12 : gazon 21 : poussière

Utilisation dans 3DSMax

Puis sauvegarder la tilebank. Il n'y a plus qu'à l'utiliser pour texturer les terrains dans 3DSMax avec le plugin adapté.

Dans 3DSMax, une fois que le Quadpatch de 160x160m a été créé et est prêt à recevoir ses textures, il faut lui appliquer le Modificateur "NelConvert" puis "NelEdit" et enfin, 'Nel Painter'

Aller dans l'Onglet Outils, choisir "Nel Tile Bank" et choisir la tilebank qu'on souhaite.

Revenir au menu des modificateurs, Choisir la vue 'top' dans viewport et cliquer sur 'Paint'. Les commandes pour gérer l'application des textures sont les suivantes :

Nelpaintercheatsheet.jpg