Voies - Textures et modes de couleur

Les documents, recettes et petits trucs qui sont utiles à tout fan de MSTS!

Modérateur : Modérateurs

Avatar du membre
Jimidi
Expert
Messages : 1920
Enregistré le : 02 nov. 2008 14:32
Localisation : Ille sur Têt (66)
Contact :

Voies - Textures et modes de couleur

Messagepar Jimidi » 30 oct. 2011 17:37

Bonjour,

Cela fait un bon moment maintenant que les "délicatesses" de l'affichage du jeu me portent cycliquement à me pencher sur le sujet.
Nous connaissons tous, à des degrés divers, fonction de notre carte graphique et des ses réglages, ces aberrations ou dégradations d'affichage lors du déroulement du jeu lors même que matériels et objets sont tellement mieux rendus dans ShapeViewer... Les deux pires étant, à mon goût, les "aplats-effet-pétrole" sur les textures photo-réalistes et les "scintillements-points-blancs-animés" de certaines textures de voie !
Au sujet du premier effet, j'ai depuis le départ soupçonner une limitation du moteur graphique du jeu. Ce dernier ne considérerait les "24bits" de profondeur couleur que globalement et userait plutôt de 8bits maximum pour chaque texture décodée individuellement !
Car c'est précisément l'effet que l'on obtenait lors d'une conversion d'image du mode 24 vers 8 bits ("couleurs indexées"), spécialement lorsque la palette de départ de la photo était fort riche, ce à l'époque des "PC sous Win95" !

Le fait d'user de l'artifice "ajout de bruit" sur des textures fonctionne fort bien sur des modèles essentiellement "dessinées" et ne comportant somme toute qu'une "palette limitée". En revanche, cet artifice ne donne pas suffisamment satisfaction lors d'un travail sur texture d'origine photo...
Par ailleurs, n'ayant pas abandonné mon travail-exploration sur de nouvelles voies "à la Norbert" mais françaises (. , je fut pas mal "tracassé" ces derniers temps avec les problèmes de scintillements insupportables obtenus sur mes propres textures (comme beaucoup l'ont rencontré sur la RübelandBahn...)
Alors, qu'elle ne fut ma surprise de découvrir un curieux tramage en examinant à la "loupe" les textures magnifiques utilisées par Norbert :

Image

... et cet effet, je m'en rappelle, on l'obtient lors de certains réglages de conversion vers le mode "Couleurs Indexées" des images en 8bits avec option "motif" (entre autre) ! Voici, par exemple ce que ça donne à partir d'une texture de l'Alfold qui elle me pose à la fois le problème de scintillement et cumule un défaut de symétrie visible aux raccords de voies "inversées" :

Image

Vous pouvez observer ici le résultat de zoom à l'échelle (au pixel près sur votre écran) de façon à bien percevoir la différence. Dans Photoshop, la fonction visant à limiter volontairement la palette d'une texture se fait en usant de la commande "Image/Mode/Couleurs indexées" :

Image

Suivant les cas, il faudra adapter le nombre de couleurs au plus "raisonnable" possible ! Pour une texture de voie relativement homogène, 48 à 72 couleurs m'ont semblé largement suffisant pour un très bon rendu global. L'image obtenue sera bien entendue "copier/coller" dans le fichier de travail multi-calques qui lui reste bien en 24bits !Inutile de dire que désormais "scintillements et autres délires" de mes textures de voies ne sont plus que mauvais souvenirs ! Attention, cette astuce n'empêche pas l'usage des réglages judicieux à l'exportation ".ace" dans TgaTools !

Maintenant, je n'ai pu m'empêcher de "tester l'affaire" sur une texture "photo-réaliste" typique, comme celles que l'on rencontre sur la majorité des splendides modèles roulants tchèques, hongrois... ; si beaux dans SV mais si "massacrés" dans le jeu !
J'ai donc jeté mon dévolu sur un modèle de V43 hongroise et récente (pas du pack ActHu). Comme d'habitude, un dessin valant mieux qu'un long discours, voici les résultats comparatifs faisant apparaitre sous même angle et mêmes conditions le résultat dans le jeu (Alfold6.03 - Debrecen) et avec un cartouche contenant à chaque fois une portion "zoomée" à 200% du fichier de texture :

1 ) Pour l'original en mode 24bits :

Image

2 ) Avec conversion préalable en 256 couleurs :

Image

3 ) Avec conversion préalable à 128 couleurs maximum ce coup-ci :

Image

Dans le dernier cas, les 128 couleurs donnent un résultat très satisfaisant dans le jeu en limitant très fortement l'effet "aplats" si malheureux...

Donc voici chers amis d'ASW et visiteurs occasionnels, bande de veinards qui recevez partage de cette information cruciale que je ne garderais pas pour moi tout seul ! ?+ J'ai eu beau chercher, je n'ai rien trouvé sur cette "subtilité" pourtant bien "utilisée" et rencontrée en des exemples concrets...

Amicalement, Jean-Michel .+
Modifié en dernier par Jimidi le 16 nov. 2011 9:16, modifié 1 fois.
"T'occup' nin des signaux garchon, mets du carbon !"
Image
facebook Jimidi

Avatar du membre
BB25187
Administrateur
Messages : 15232
Enregistré le : 09 mai 2004 1:07
Localisation : Grenoble
Contact :

Re: Textures et modes de couleur

Messagepar BB25187 » 30 oct. 2011 19:13

Hello Jean-Michel,

C'est diablement intéressant ton eptit truc. Quelque part, la trame dpoit généraliser le coup du bruit? En tout cas ça vaut la peine d'être essayé.
Petite question: le modèle que tu nous montres est-il, comme beaucoup de matos de l'est, mappé avec des textures 2048 pixels? Si oui, est-ce que ça foncitonne aussi bien avec des textures d'une taille maximale de 1024 pixels? Et sinon, peux-tu préciser les tailles des textures traitées ici?

Un grand merci à toi en tout cas pour tes recherches, tes découvertes et ton goût du partage! applaus001

Amicalement
Vincent
"Er ist ein Unmensch, ein Tyrann!" - Tamino - Erster Akt - Die Zauberflöte.
____________________________________________________________

Image

Avatar du membre
Jimidi
Expert
Messages : 1920
Enregistré le : 02 nov. 2008 14:32
Localisation : Ille sur Têt (66)
Contact :

Re: Textures et modes de couleur

Messagepar Jimidi » 30 oct. 2011 19:58

Bonsoir,

Hello Vincent, ce tramage agit certes un peu comme l'ajout de bruit mais c'est surtout la "limitation" de la palette en terme de nombre réel de couleur qui influe le plus. Alors l'association de la trame "motif" d'une palette limitée en couleurs avec une application de bruit (monochromatique) effectuée au préalable, donne encore un peu plus d'efficacité.
Bien sur, je le redit, cela s'adresse surtout aux textures dites "photo-réalistes". Les différents essais que j'ai pu réaliser (ils ont été fort nombreux et m'ont occupé un bon bout de temps !) m'ont donc permis ces conclusions. Et je puis enfin m'adonner à l'élaboration de textures nouvelles pour les voies... sans la frustration et le dépit de résultats catastrophiques une fois arrivé dans le jeu !

Alors concernant la taille de ces textures, s'agissant des voies, c'est essentiellement du 1024 au lieu de l'habituel 512 (dans l'Alfold). Je dois avouer cependant que cet "usage" ne me convainc pas vraiment dès lors que c'est appliqué sur des éléments de voies "classiques" (avec la 3D de rail "immonde" que l'on connait), lors du déroulement du jeu, spécialement en conduite, la différence n'est pas très "appréciable", ce même avec une "vue cabine caméra centrée sur pare-brise". La version 512 suffit amplement, c'est du moins mon avis. Je me dois d'ailleurs d'avouer être encore en 1024x768 sur mon écran !
Les textures de voies en 1024 prennent tout leur intérêt dans le cas de voie à la 3D fort détaillée et doivent vraiment en "jeter" sur une config "grand écran"...
Malgré cela, et dans le cas d'une texture en 512, cette application de "limitation palette" garde toute son efficacité.

Enfin, concernant la taille de texture sur le modèle de V43 présenté, il s'agit en effet d'une 2048 ! Mais nonobstant ce que l'on pense toi et moi de "cet usage", le recours à cet artifice de mode couleur donne ici les mêmes avantages. J'ai volontairement choisi cette "taille" car l'on pourrait raisonnablement penser que dans ce cas l'effet est moindre... Or il n'en est rien ! Là encore, c'est efficace.
Sinon, dans d'autres cas plus classiques en taille (1024 ou 512) ça m'a donné aussi de très bons résultats. 1?

Voila cher ami.

Bonne semaine à toute et tous, Jean-Michel ,/
"T'occup' nin des signaux garchon, mets du carbon !"
Image
facebook Jimidi

Avatar du membre
Jimidi
Expert
Messages : 1920
Enregistré le : 02 nov. 2008 14:32
Localisation : Ille sur Têt (66)
Contact :

Re: Voies et leurs textures - Décalage

Messagepar Jimidi » 16 nov. 2011 10:06

Bonjour à toutes et tous,

Comme annoncé dans ce message, je me propose de vous confier le résultats de mes recherches toutes récentes et portant sur l'usage pour le moins curieux du décalage de texture observé sur l'immense majorité de celles utilisées pour les voies de MSTS. J'ai eu beau chercher (peut-être mal ?), je ne trouvais jamais rien sur le sujet ! Décidément, c'est à croire que les "renseignements techniques" sur les éléments de voies sont "confidentiels"...
Lorsque j'ai analysé les superbes éléments de voie fournis par TTB dans l'opus "PT37-Straßenbahnnetz Berlin-Köpenick", j'ai observé qu'il était fait usage de textures centrées, ce qui me semblait somme toute plus censé ! Or, qu'elle ne fut ma surprise, alors que je venait de commencer l'élaboration "inspirée" de voies "fineScale", de remarquer que les splendides éléments "DBtrack" de Norbert, disponibles au téléchargement gratuit, usaient de nouveau de ce décalage ?! J'ai donc eu envie dans savoir plus : à commencer par savoir comment s'y prendre dans TSM pour plaquer une telles textures !

Voici donc partagé le résultat de cette "enquête" :

Comme décrit dans ma récente réponse à Nicober, il existe une fonction de répétition de texture permettant son application en "mosaïque". Et cette fonction permet d'user de toute proportion et n'est donc pas limitée à l'usage de nombres entiers seuls !
De plus, il est possible d'affecter un "retournement" du placage en inversant soit en "X", soit en "Y".
Après beaucoup d'énervement mais tout autant d'acharnement j'ai réussi en combinant l'analyse des "uv point" du code d'un ".s" et les expériences avec TSM, à "saisir" la procédure.
Attention, j'aurai prévenu, c'est du "spécial" :

- Prenons par exemple une texture de 512 pixels au carré (cas courant), la partie droite devant se "répéter" à gauche. Cette partie fera ici 64 px. Ce qui nous laissera un "reste" de 448 px pour le ballast et les traverses.
- Il faudra alors appliquer une sélection de texture de 448 x 512 px, considérer que dans ces 448 px il y a 7 fois 64 px et que par conséquent nous devrons considérer une "mosaïque" de (1 x 448) + (1/7e x 448) soit en décimal : 1.143 arrondi !
- De plus, il faudra appliquer une inversion de placage en "X" (cocher la case dans TSM)

Démonstration et explication par l'illustration :

Image

Délirant, non ? Car là, ça marche ! C'est impeccable ! Surtout si en plus l'on se donne la peine d'aller éditer le code du ".s" en affinant les valeurs des "uv point" concernés (TSM ne fait rien qu'à générer de l'approximatif !) :
- Plutôt que :

Code : Tout sélectionner

      uv_point ( 0.875 0.999939 )
      uv_point ( -0.125122 0.999939 )
      uv_point ( -0.125122 -6.10352e-005 )
      uv_point ( 0.875 -6.10352e-005 )

- Il est plus "élégant" et surtout précis de changer pour :

Code : Tout sélectionner

      uv_point ( 0.875 1 )
      uv_point ( -0.125 1 )
      uv_point ( -0.125 0 )
      uv_point ( 0.875 0 )



... remarquez alors ces valeurs : 0.875 pour 7/8e et 0.125 pour 1/8e !

A quoi sert la précision ?
Et bien vous avez surement déjà rencontré des routes dans lesquelles les textures utilisées pour les voies (essentiellement du genre "acleantrack1.ace") souffraient d'un vilain décalage aux raccordements d'éléments ayant nécessité un retournement (aiguillages ou éléments courbes par exemple). Si la texture a été correctement préparée et que son placage a été bien appliqué, les raccordements de ce type sont parfaitement invisibles !

Image

Remarquez dans cette illustration comme le "raccordement centré", repéré par les deux lignes rouges centrales, est impeccable... cependant que les traverses n'ont vraiment pas été judicieusement placées !

Alors quid de cet usage de décalage quelque peu déroutant, si pas délirant, et "hérité" depuis les débuts du jeu ? Serait-ce que cela est imposé par la fonction et l'usage de portions de voies "dynamiques" ? J'avoue que je n'ai pas trouvé de réponse à cette dernière question ! En tout cas, ça donne bien illustration d'un propos récurent :
- "Pourquoi faire simple quand on peut faire compliqué ?!"

Ré-édition : pour cause de précisions toutes récentes à apporter à cette démonstration et portant sur les valeurs des textures de voies d'origine, il est important de lire l'ajout plus loin dans ce post...

Voilà chers amis, un partage de plus... .+

Jean-Michel
Modifié en dernier par Jimidi le 10 déc. 2011 8:50, modifié 2 fois.
"T'occup' nin des signaux garchon, mets du carbon !"
Image
facebook Jimidi

Avatar du membre
BB25187
Administrateur
Messages : 15232
Enregistré le : 09 mai 2004 1:07
Localisation : Grenoble
Contact :

Re: Voies - Textures et modes de couleur

Messagepar BB25187 » 16 nov. 2011 18:22

Salut Jean-Michel,

Ah ben voilà encore une grande production de tes ateliers! confused19
Merci d'avoir décrypté le fonctionnement de la pose de textures en mosaïque sous TSM, et surtout de l'avoir formalisée et expliquée de façon claire! J'avoue m'y être frotté plusieurs fois durant le texturage de mes caisses. J'avais alors fini par arriver à mes fins par tâtonnement, y compris avec des portions de la texture globale et des symétries. Mais contrairement à toi, je n'ai jamais eu le courage, ni même véritablement la tentation, de faire oeuvre de pédagogie comme tu viens de le faire!

Un grand merci à toi. Je pense que j'aurai l'occasion de me reporter à cet excellent message à l'avenir.
Un véritable "incontournable" des "trucs et astuces"! .=

Amitiés,
Vincent
"Er ist ein Unmensch, ein Tyrann!" - Tamino - Erster Akt - Die Zauberflöte.
____________________________________________________________

Image

nicober
Modérateur
Messages : 2200
Enregistré le : 21 févr. 2004 22:36
Localisation : Québec (Qc) Canada
Contact :

Re: Voies - Textures et modes de couleur

Messagepar nicober » 16 nov. 2011 20:46

Bonsoir à tous

Hello Jean-Michel!

Excellent exposé, du vrai travail de PRO> applaus001

Cela me sera surement très utile et j'espère en faire bon usage bientôt dans l'avenir.

Grand Merci à toi! .=
Nicober

«La Terre n’appartient pas à l’Homme, c’est l’Homme qui appartient à la Terre.»
[ Sitting Bull ]

Avatar du membre
Jimidi
Expert
Messages : 1920
Enregistré le : 02 nov. 2008 14:32
Localisation : Ille sur Têt (66)
Contact :

Précisions sur les textures de voies Acleantrack1

Messagepar Jimidi » 10 déc. 2011 9:06

Bonjour,

Désireux de produire un jeu de textures adaptées aux voies d'origine et permettant un raccord "plus propre" avec mon système de voies, j'ai pu préciser les valeurs de proportions réelles utilisées avec les "AcleanTracks1" d'origine :
Elles sont encore plus "tordues" que celles présentées dans l'article ci-haut !
La partie droite ne fait pas 64 pixels (ce qui restait une valeur "proportionnée" par rapport aux binaires 512 !) mais plutôt 72 pixels ! Du coup, le "reste" pour le ballast fait lui : 440 pixels.
Donc les proportions de placages de textures dans les "uv_points" du code devraient pour le bien avoir les valeurs suivantes :

Code : Tout sélectionner

   uv_points ( nn
      uv_point ( -0.140625 1 )
      uv_point ( 0.859375 1 )
      .......
      uv_point ( -0.140625 0 )
      uv_point ( 0.859375 0 )
      .......


... et non :

Code : Tout sélectionner

   uv_points ( nn
      uv_point ( -0.139 1 )
      uv_point ( 0.862 1 )
      .......
      uv_point ( -0.139 0 )
      uv_point ( 0.862 0 )
      .......


... comme rencontrées dans le code d'un élément d'origine du jeu ! D'ailleurs, pour la précision, avec un "choix" de première valeur arrondie à 0.139, le complément à 1 devrait valoir 0.861 !
Vous voilà "parés" des informations nécessaires pour réaliser vos textures avec précision.

Jean-Michel
"T'occup' nin des signaux garchon, mets du carbon !"
Image
facebook Jimidi


Retourner vers « Les incontournables »