Shaders (RWW)

De wiki.railsim-fr.com
Aller à : navigation, rechercher

On supposera que les logiciels utilisés sont 3D Studio MAX pour la modélisation 3D et Adobe Photoshop pour la création de textures.

Quelques mots à propos des exemples figurant dans ce ou ces documents.

Étant donné que nous avons utilisé 3D Studio MAX pour créer le contenu de Rail Simulator, ce programme figure dans les exemples que nous avons donnés. Vous pouvez bien sûr utiliser d’autres logiciels comme Blender ou 3D Canvas pour créer votre propre contenu. De même, nous avons utilisé Adobe Photoshop pour créer les textures, mais vous pouvez également utiliser l’un des nombreux autres programmes disponibles. Quel que soit le logiciel utilisé, ce document doit apparaître comme un guide général de la méthode à adopter pour créer votre propre contenu pour RailWorks.

Note importante : il se peut que des plug-ins additionnels pour le logiciel que vous utilisez soient requis pour rendre votre travail utilisable dans RailWorks. Il se peut que certains plug-ins ne soient pas disponibles immédiatement, mais ceux-ci sont en cours de finalisation dans nos studios.

Texture vide (dummy)

Certains shaders requièrent plusieurs passes de textures distinctes. Avec un shader de reflet, par exemple, la texture générant les reflets est appliquée lors d’une seconde passe d’affichage lors de l’exécution.

La description de certains shaders figurant dans ce document mentionne une « texture vide » (dummy texture) parmi le jeu de textures utilisées. Ces textures supplémentaires sont présentes pour rendre possible les effets de multi-texturage en exécution. <?>

Dès lors, peu importe l’apparence des textures référencées en tant que texture vide puisqu’elles vont être remplacées quoi qu’il arrive.

Cependant, pour s’assurer que les shaders restent simples et cohérents, nous recommandons l’emploi d’une seul et même texture de petites dimensions (appelée par exemple vide.ace) de manière que toutes les références à une texture vide utilisent la même texture.

Par exemple :

Shader TrainEnv

Emplacement texture 1 : texture en lumière diffuse Emplacement texture 2 : texture vide

IMAGE ICI

Familles de shaders

Il existe deux familles de shaders : les shaders simples et ceux à effets spéciaux.

Shaders simples

Ces shaders sont les moins complexes et utilisent en général moins de textures que les shaders avec effets. De ce fait, ils ont dans le jeu une apparence plus basique.

Utilisation Nom Description Exemples d'utilisation
Objet insensible à l'éclairement Tex Shader non pris en compte par l'algorithme d'éclairement (ne peut pas s’assombrir) Intérieur d’une voiture, d'un bâtiment éclairé, vitres des maisons la nuit (sans transparence)
Objet tout venant TexDiff Shader illuminé par lumière diffuse Tout objet soumis à l'algorithme d'éclairement
Fenêtres BlendATexDiff Shader utilisant l’alpha blending (objets translucides) Fenêtres d’une voiture (on préfèrera TrainGlass.fx)
Zone illuminée AddATex Shader utilisant une couche alpha additive Lueur d’un lampadaire sur le sol

Shaders à effets

Ces shaders sont plus complexes que les précédents et tendent nécessiter plus de passes texture. Ainsi, ils peuvent donner un rendu plus intéressant et/ou réaliste dans le jeu.

Utilisation Nom du shader Description Exemples d'utilisation
Ombres volumiques StencilShadow Shader utilisé uniquement pour les volumes d'ombre dans le jeu. Pour garantir le bon fonctionnement de ce shader, il faut respecter des préconisations assez strictes lors de la création des volumes d’ombre. Ne pas utiliser depuis TS2012. Ombres volumiques
Feuillage TrainFlora
TrainViewFacingFlora
TrainUprightViewFacingFlora
Shaders exclusivement illuminés par l’éclairage ambiant (pas d’éclairage diffus, donc pas de variation selon l'orientation des faces). Peuvent avoir des propriétés particulières comme l'orientation dynamique vers l'observateur. Ensemble de feuilles d’un feuillage
Extrusions LoftTexDiff
LoftTexDiffTrans
Shaders spécialisés pour l’extrusion de profils dans le jeu. Peuvent avoir des propriétés de transparence (variante LoftTexDiffTrans). Mur de briques (LoftTexDiff)
Rangée d’arbres (LoftTexDiffTrans)
Reflets TrainEnv Shader générant les reflets lors d’une seconde passe Les fenêtres brillantes d’une maison (sans transparence)
Bâtiments TrainLightMapWithDiffuse Shader rendant possible l’utilisation d’une seconde passe pour pré-ombrer un objet. Permet de donner plus de profondeur à un objet. Gares, bâtiments divers
Eau WaterCubeMap Shader pouvant être utilisé pour générer la surface de l’eau Rivière
Matériel roulant TrainBumpSpecEnvMask Métal bosselé et brillant Côtés d’une locomotive (aspect gondolé)
TrainSpecEnvMask Métal brillant et lisse Les flancs d’une locomotive (aspect lisse)
Tout objet (variante à effets) TrainBasicObjectDiffuse Version à effet du shader standard (=TexDiff) Tout objet soumis à l'éclairement
Personnages SkinDiffuse Shader de peau spécifique pour les personnages humains. Il existe des préconisations qui doivent être respectées lors de la création de personnages, afin de s’assurer que le squelette correspond bien à celui voulu dans le shader. Personnages humains et animaux à peau
Ciel TrainSkyDome Shader spécifique pour la création de ciel dynamique Le ciel

Propriétés du matériau

Simple face ou double face ?

Le plug-in matériau supporte des polygones qui peuvent avoir la propriété d’être texturés soit sur une face, soit sur les deux. Les shaders traitent cette propriété de façon différente selon qu’ils sont avec ou sans effets spéciaux.

Shaders simples

Par défaut, les shaders simples (sans effets spéciaux) rendent les polygones texturés sur les deux faces.

Si vous utilisez un shader simple, et que vous ne voulez texturer les polygones que sur une seule face, alors vous devez activer l’option « back-face cull » dans les propriétés du matériau.

Shaders à effets

Par défaut, les shaders à effets rendent les polygones texturés sur une seule de leurs deux faces.

Si vous utilisez un shader à effets, et que vous voulez texturer les polygones que sur les deux faces, alors vous devez activer l’option « 2-sided » dans les propriétés du matériau.


Guide de création (traduction du RailWorks Wiki)
Bases Développer une création Progression 75 % environ
Lignes directrices Principes de base Progression 75 % environCréation de contenu Progression 25 % environ
Création Voies ferrées Non démarréExtrusions Non démarréMatériel roulant Progression 50 % environCabines de conduite Non démarréAttelages Non démarré
Graphismes Shaders Progression 75 % environÉclairage et ombrage Non démarré
Terrain Application des textures Non démarré