Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:conception_et_preparation_des_textures_environnementales [2014/08/10 19:47] – Page moved from fr:todo:dessiner:conception_et_preparation_des_textures_environnementales to fr:conception_et_preparation_des_textures_environnementales zatalyzfr:conception_et_preparation_des_textures_environnementales [2023/06/30 19:25] (Version actuelle) YannK
Ligne 1: Ligne 1:
 ====== Conception et préparation des textures environnementales ====== ====== Conception et préparation des textures environnementales ======
  
-<WRAP important> Tutoriel en cours de finalisation</WRAP> +Les textures environnementales sont celles qui sont utilisées dans le modeleur 3D sur les quadpatch qui serviront à représenter l'environnement ([[fr:generation_de_zone|sol et reliefs naturels]]). 
-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.+ 
 +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 ===== ===== 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. 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.
-{{ :fr:todo:dessiner:tiling_01.png?direct&300 |}}+{{ tiling_01.png?direct&300 |}}
  
 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. 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.
-{{ :fr:todo:dessiner:tiling_02.png?direct&300 |}}+{{ tiling_02.png?direct&300 |}}
 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). 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).
  
Ligne 21: Ligne 22:
 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 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) Je fais //Calque > Transformer > Décalage// (//Offset// en anglais)
-{{ :fr:todo:dessiner:tiling_03.png?direct&300 |}}+{{ tiling_03.png?direct&300 |}}
 J'obtiens donc un décalage de mon image qui part de : J'obtiens donc un décalage de mon image qui part de :
-{{ :fr:todo:dessiner:tiling_04.png?direct&300 |}}+{{ tiling_04.png?direct&300 |}}
 et on obtient : et on obtient :
-{{ :fr:todo:dessiner:tiling_05.png?direct&300 |}}+{{ tiling_05.png?direct&300 |}}
 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 : 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 :
-{{ :fr:todo:dessiner:tiling_06.png?direct&300 |}}+{{ tiling_06.png?direct&300 |}}
 On peut alors éventuellement refaire un //Décalage//, pour retrouver l'image originale, mais désormais avec des transitions douces sur le pourtour. 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" 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"
-{{ :fr:todo:dessiner:tiling_07.png?direct&300 |}}+{{ tiling_07.png?direct&300 |}}
 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 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... 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 : Je sauvegarde mon fichier gimp avec le calque nommé comme le numéro de cette première tuile dans la série :
-{{ :fr:todo:dessiner:tiling_08.png?direct&300 |}}+{{ tiling_08.png?direct&300 |}}
  
 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é. 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 : 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 :
-{{ :fr:todo:dessiner:tiling_09.png?direct&300 |}}+{{ tiling_09.png?direct&300 |}}
  
 ===== Créer la Tilebank ===== ===== Créer la Tilebank =====
Ligne 47: Ligne 48:
  
 Cliquer gauche sur le bouton à côté de "Absolute path" Cliquer gauche sur le bouton à côté de "Absolute path"
-{{ :fr:todo:dessiner:tile_bank_manager_step_00.png?direct&300 |}}+{{ tile_bank_manager_step_00.png?direct&300 |}}
 Changer le chemin pour celui des tuiles de texture. Si vous partez d'une installation Ryzom Core, ce sera a priori : Changer le chemin pour celui des tuiles de texture. Si vous partez d'une installation Ryzom Core, ce sera a priori :
 <code>W:\Database\landscape\_texture_tiles\</code> <code>W:\Database\landscape\_texture_tiles\</code>
 ====  créer le premier type de terrain ==== ====  créer le premier type de terrain ====
 Cliquer sur //Add land// Cliquer sur //Add land//
-{{ :fr:todo:dessiner:tile_bank_manager_step_a.png?direct&300 |}}+{{ tile_bank_manager_step_a.png?direct&300 |}}
 Appeler ce terrain à votre convenance (un nom d'écosystème semble le plus pertinent), '//ashtarie//' dans notre exemple Appeler ce terrain à votre convenance (un nom d'écosystème semble le plus pertinent), '//ashtarie//' dans notre exemple
-{{ :fr:todo:dessiner:tile_bank_manager_step_b.png?direct&300 |}}+{{ tile_bank_manager_step_b.png?direct&300 |}}
 et cliquer //OK//. et cliquer //OK//.
-{{ :fr:todo:dessiner:tile_bank_manager_step_c.png?direct&300 |}}+{{ tile_bank_manager_step_c.png?direct&300 |}}
 Cliquer sur //Add tile set// Cliquer sur //Add tile set//
-{{ :fr:todo:dessiner:tile_bank_manager_step_d.png?direct&300 |}}+{{ tile_bank_manager_step_d.png?direct&300 |}}
 Appeler ce terrain (nom anglais chez nous, voir les [[http://khaganat.ninm.net/wikhan/fr:todo:dessiner:3d:les_conventions_de_nommage|Conventions de nommage]]) selon son aspect, cela sera plus commode de se repérer, 'grass' dans notre exemple Appeler ce terrain (nom anglais chez nous, voir les [[http://khaganat.ninm.net/wikhan/fr:todo:dessiner:3d:les_conventions_de_nommage|Conventions de nommage]]) selon son aspect, cela sera plus commode de se repérer, 'grass' dans notre exemple
-{{ :fr:todo:dessiner:tile_bank_manager_add_tileset_to_land_a.png?direct&300 |}}+{{ tile_bank_manager_add_tileset_to_land_a.png?direct&300 |}}
  
-{{ :fr:todo:dessiner:tile_bank_manager_add_tileset_to_land_b.png?direct&300 |}}+{{ tile_bank_manager_add_tileset_to_land_b.png?direct&300 |}}
  
 cliquer OK. cliquer OK.
-{{ :fr:todo:dessiner:tile_bank_manager_add_tileset_to_land_c.png?direct&300 |}}+{{ tile_bank_manager_add_tileset_to_land_c.png?direct&300 |}}
 ==== Créer un second type de terrain ==== ==== 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. 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.
Ligne 73: Ligne 74:
 ==== Attribuer les textures aux Tilesets ==== ==== Attribuer les textures aux Tilesets ====
 Sélectionner un Tileset ('grass' dans notre exemple) et faire //Edit tileset// Sélectionner un Tileset ('grass' dans notre exemple) et faire //Edit tileset//
-{{ :fr:todo:dessiner:tile_bank_manager_edit_land.png?direct&300 |}}+{{ tile_bank_manager_edit_land.png?direct&300 |}}
 Une nouvelle fenêtre apparaît, qui va permettre d'ajouter les images à ce tileset. On remarque plusieurs zones : 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 ;   * //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   * //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).   * //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).
-{{ :fr:todo:dessiner:tile_bank_manager_add_bank.png?direct&300 |}}+{{ tile_bank_manager_add_bank.png?direct&300 |}}
 === Les textures Diffuse === === 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 On va commencer par ajouter des textures de type Diffuse, 128x128 : on sélectionne donc ces deux options dans Texture et dans Tiles
-{{ :fr:todo:dessiner:tile_bank_manager_add_diffuse_128.png?direct&300 |}}+{{ tile_bank_manager_add_diffuse_128.png?direct&300 |}}
 Clic-droit dans la zone vide à droite et sélectionner //Add//, Clic-droit dans la zone vide à droite et sélectionner //Add//,
-{{ :fr:todo:dessiner:tile_bank_manager_add_menu.png?direct&300 |}}+{{ tile_bank_manager_add_menu.png?direct&300 |}}
 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. 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. 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.
Ligne 90: Ligne 91:
 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. 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// Sélectionner //Texture > Diffuse et Tiles > Transition//
-{{ :fr:todo:dessiner:tile_bank_manager_add_diffuse_transitions.png?direct&300 |}}+{{ tile_bank_manager_add_diffuse_transitions.png?direct&300 |}}
 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 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// Sélectionner //Texture > Alpha// et //Tiles > Transition//
-{{ :fr:todo:dessiner:tile_bank_manager_add_alpha_transitions.png?direct&300 |}}+{{ tile_bank_manager_add_alpha_transitions.png?direct&300 |}}
  
 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. 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.
Ligne 100: Ligne 101:
 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é). 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. Sélectionner //Tiles > Displace// et remplir au moins 6 cases avec des textures en niveau de gris qui serviront à déformer le terrain.
-{{ :fr:todo:dessiner:tile_bank_manager_add_displacement.png?direct&300 |}}+{{ tile_bank_manager_add_displacement.png?direct&300 |}}
  
-=== Lier les tilesets à des effets de de contact ===+=== Lier les tilesets à des effets de contact ===
 Enregistrer tout cela, fermer et revenir à la fenêtre 'Tile bank manager' 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. \\ 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.
Ligne 109: Ligne 110:
 21 : poussière 21 : poussière
  
-=== Utilisation dans 3DSMax === +==== Produire les smallbanks et farbanks ==== 
-Puis sauvegarder la tilebank. Il n'y a plus qu'à l'utiliser pour texturer les terrains dans 3DSMax avec le plugin adapté.+ 
 +Il est nécessaire de décliner les banques de textures environnementales en deux autres formats, grâce à des commandes dédiées : 
 + 
 +  * [[fr:outils_rc2#build_far_bank|build_far_bank]] pour chacune des quatre déclinaisons saisonnières ; 
 +  * [[fr:outils_rc2#build_smallbank|build_smallbank]] pour juste le fichier principal sans déclinaison saisonnière.
  
-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' +Les fichiers obtenus devront être fournis au client en même temps que les ''.bank''Il devront être placés correctement dans la [[fr:pipeline_emplacements|hiérarchie des dossiers]] pour être bien pris en compte par le pipeline général.
-\\ 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 : +
-{{ :fr:todo:dessiner:nelpaintercheatsheet.jpg?direct&300 |}}+
  
 +Les ''bank'' iront chacun dans le //DatabaseDirectory// dans un sous répertoire ''landscape'' puis un autre ''_texture_tiles'' et dans un dernier au nom de l'écosystème qu'ils contiennent.
  
 +Exemple : ''database/landscape/_texture_tiles/desert/desert.bank''
  
 +Les ''farbank'' iront dans le //ExportBuildDirectory// dans un sous répertoire ''ecosysteme'' puis un autre du nom de l'écosystème et dans un dernier dénommé ''farbank''.
  
 +Exemple : ''export/ecosystems/jungle/jungle_au.farbank''
  
 +Les ''smallbank'' iront chacun dans le //ExportBuildDirectory// dans un sous répertoire ''ecosysteme'' puis un autre du nom de l'écosystème et dans un dernier dénommé ''smallbank''.
  
 +Exemple : ''export/ecosystems/jungle/jungle.farbank''
  
 +==== Utilisation dans 3DSMax ====
 +Il suffit finalement de sauvegarder la tilebank. Il n'y a plus qu'à l'utiliser pour [[fr:generation_de_zone|texturer les terrains]] dans le modeleur avec le plugin adapté.
  
-{{tag>3D textures dessin tutoriel}}+{{tag>3D Textures Graphisme Tutoriel client_rc_obsolete  Obsolète}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/conception_et_preparation_des_textures_environnementales.1407700069.txt.gz · Dernière modification : (modification externe)

Licences Mentions légales Accueil du site Contact Inclusion