Carrier Command 2: Guide de modification du shader d'écran

Ce guide est destiné à vous épargner la frustration d'essais et d'erreurs de l'apprentissage de la sémantique des shaders afin de personnaliser les écrans comme bon vous semble. Tl; Dr no cracking ouvre mes fichiers de mod pour vérifier maintenant, il existe un guide de référence de vérification facile pour savoir comment j'ai obtenu l'effet x.

 

Introduction

Qu'est-ce qu'un shader d'écran ?

Cela semble plutôt basique d'une question, mais cela a pris un peu de chasse pour trouver.
Un shader d'écran est un fichier de shader trouvé dans rom_0/shaders avec des noms de fichiers screen_crt.glslscreen_crt_hud.glslet holomap_post.glsl.
Le premier est responsable des effets CRT sur les écrans de votre contrôle de pont, tels que le bruit statique, les lignes de balayage et même cette redoutable déformation des bords du vertex qui donne l'impression qu'il a été plié comme un morceau de fer-blanc de mauvaise qualité ! Le second est responsable des effets crt HUD dans les caméras du véhicule et la caméra périscope de votre vaisseau, mais vous ne les remarquez jamais vraiment. Le dernier traite de l'holotable et de son apparence. Alors que l'holotable a sa propre lumière dans son fichier objet, c'est uniquement à des fins décoratives de créer une lumière de zone bon marché pour donner l'impression qu'elle éclaire la zone autour de lui plus qu'un écran. Cela semble s'éteindre avec l'holomap ayant sombre couleurs de toute façon, pas besoin de le changer.

Les trois sections suivantes traitent des champs modifiables individuels dans l'ordre du premier au dernier. Référez-vous à eux en conséquence.

Screen_CRT.glsl, écrans réguliers

C'est de loin le plus étendu à modifier, alors allons-y simplement.

Résolution d'écran x/y

contrôle la résolution relative des effets en fonction de la résolution de votre moniteur ou de votre jeu, pour une raison quelconque. contrôle également le plan général des effets ajoutés mais je n'ai pas touché à cela.

pi

ne touchez pas à cela, utilisé pour les effets RNG

déformer les coordonnées des sommets au bord de l'écran

le premier gros bloc de choses pures, mais vous ne pouvez modifier que deux champs. la première valeure (par défaut 1.0) est la valeur d'intensité réelle. le régler sur 0 supprimera l'effet. l'autre valeur (par défaut 0.5) est le centrage de l'effet warp. donc passer à 1 donnera un coup de pied à l'effet vers la droite tandis que 0 donnera un coup de pied à l'effet de distorsion vers la gauche. pourquoi voudriez-vous cela, je ne le saurai jamais, mais la désactivation des coins arrondis entraînera le chevauchement des écrans sur les bords du modèle d'écran non carré dans le jeu.

lignes de balayage

ne soyez pas intimidé par les chiffres ici, décomposons-le
le facteur de distance est la distance entre les lignes, 4 étant la valeur par défaut. la ligne suivante après celle-ci indique le nombre de pixels affectés par cette distorsion de ligne de balayage. la luminosité de la ligne de balayage correspond à la luminosité de la ligne de balayage dans un rapport des deux derniers nombres. dans ceux-ci, l'effet est toujours à gauche et la sortie d'écran d'origine est à droite. ainsi, une valeur de 0.2, 0.8 serait un écran normal à 80 % avec une visibilité de la ligne de balayage de 20 %. les nombres supérieurs à 1 provoqueront des couleurs unies et je ne le recommande pas à moins que vous ne vouliez voir un monolithe géant au loin (erreur de shader). le temps d'animation est la vitesse à laquelle les lignes de balayage défilent, c'est ce que vous attendez, mais l'échelle de temps elle-même est inconnue (linéaire ? multiplicateur ? secondes ???). la valeur de 1.0 dans le triple ensemble de 4.0, 0.0 et 1.0 est la largeur de la ligne de balayage, ou peut-être que je les ai à l'envers idk

aberration chromatique

c'est une chose simple, cela compense les couleurs rouge et bleue à l'écran vers la gauche et la droite en conséquence. la première valeur est l'intergar de visibilité d'abberation, tandis que la seconde valeur est l'intensité d'abberation. bon si vous voulez rendre vos écrans compatibles avec ces lunettes rouges et bleues bon marché, je suppose.

coord de sommet déformé 2

c'est l'effet déformé de l'abberation pour une raison quelconque, à moins que je ne me sois trompé avec l'abberation, je ne l'ai jamais gâché, mais cela pourrait être bon pour les hologrammes ou quelque chose du genre

l'effet de bruit

les deux sections suivantes traitent du bruit
la résolution du bruit est la taille des pixels de bruit, des nombres plus élevés signifient des pixels plus petits mais vous avez besoin d'un multiple de 2. Je n'ai aucune idée de ce que fait l'animation rand mais je sais que le mélange (par défaut 0.1 0.9) est de 90% d'écran 10% de bruit. sachez que l'augmentation drastique du facteur de bruit va assombrir votre écran pour une raison quelconque. enfin, la valeur de la quantité de bruit de couleur est à quel point elle est bruyante, pensez simplement à ce que vous voulez et ajoutez quelques zéros, mais le bruit semble étrangement s'adapter à la distance de l'écran.

Couleur

c'est de loin la section la plus simple, valeurs au format rvb
le rétroéclairage n'est que cela, la lumière de fond émise derrière les choses. par exemple, mon mod d'écran dakrmode définit simplement chaque valeur de couleur de rétroéclairage sur 0. les trois valeurs suivantes sont en fait des filtres de couleur et peuvent bloquer la lumière en définissant une valeur sur 0. c'est ainsi que j'ai fait mes écrans une seule couleur, un mélange de les deux, ou juste vraiment ♥♥♥♥♥♥♥ BLEU. ne définissez pas de valeurs supérieures à 1, cela vous donne juste un autre monolithe blanc inquiétant. sachez simplement que le blocage d'une couleur masquera certains éléments de cette couleur, comme le bleu est la couleur de la masse continentale et le vert y est également utilisé, tandis que l'icône sans munitions pour l'écran de chargement des véhicules est rouge. c'est pourquoi je dis que mes écrans lcd mod populaires sont une rétrogradation, car cela rend littéralement l'holomap presque inutile car vous ne pouvez pas voir le navire sous aucun aspect avec les îles.

facteur de vigilance

cela ne fait… rien. je l'ai changé un tas mais ça ne fait rien il me semble

Échantillon de couleur

encore une fois jamais touché cela, mais semble être la luminosité de sortie générale. donc je suppose que vous pouvez assombrir les écrans ?

Screen_CRT_HUD.glsl, La caméra

celui-ci est plus petit mais contient la plupart des effets.
puisqu'il suit à peu près la même chose que screen_crt, je ne passerai en revue que les exceptions et ce qu'elles font.

Remarque, la résolution de l'écran ne ne pas changer la résolution de la caméra.

lignes de balayage

ici, ils sont beaucoup plus résumés, et plus tard, les lignes de balayage sont répétées, mais je ne sais pas pourquoi ils ont fait cela. comme d'habitude, j'ai juste l'air maigre

aberration

cela affecte le HUD lui-même, pas la sortie de la caméra malheureusement

effets déformés

peu importe à quel point je dérange, la vignette restera, donc tout conseil sur la façon de l'enlever est apprécié
sinon ça ne fait strictement rien

rétro-éclairage

votre rétro-éclairage rétro-éclairera toute la superposition, et en fait vraiment cool pour une belle caméra, mais l'utilisation principale est de recolorer le hud si vous trouvez un équilibre de luminosité entre vous flasher au chargement et un joli hud dont vous êtes satisfait.

filtre couleur

ne filtre malheureusement que le hud, mais en conjonction avec le rétro-éclairage, vous pouvez créer une caméra de vision nocturne assez malade

facteur de vignette

ne fait rien à ma connaissance

Holomap_Post.glsl, La table holotable

c'est de loin le groupe le plus difficile à faire fonctionner, alors passons en revue.

aberration

L'aberration peut être utilisée pour vendre une apparence holographique de quelque chose, mais sinon vous pouvez la laisser telle quelle ou la désactiver.

bruit

il y a bien du bruit, mais il ne se superpose qu'aux objets holomap, tels que la grille holomap et les caractéristiques de l'île et tout ce qu'il rend. mais pas la lueur bleue décorative de fond ou quoi que ce soit

couleurs personnalisées

afin d'obtenir des couleurs personnalisées, collez ceci dans le fichier juste avant la dernière ligne sur colors(color_sample):
vec3 rétroéclairage_color = vec3(0.0, 0.0, 0.0);

color_sample_r = mix(backlight_color.r, 1.0, color_sample_r);
color_sample_g = mix(backlight_color.g, 1.0, color_sample_g);
color_sample_b = mix(backlight_color.b, 1.0, color_sample_b);

c'est simple mais passons en revue
-le rétroéclairage peut en effet changer la couleur de fond de l'écran, mais lorsqu'il dépasse 1 valeur ou plus, il peut éclairer un gros cube avec cette couleur pour VRAIMENT vendre le look holographe
-les filtres de couleur fonctionneront, mais les valeurs masquant le bleu rendront les îles invisibles sur la carte, pas les noms. vous pouvez peut-être faire de véritables ruses pour faire en sorte que les couleurs correspondent à ces co-ords de ces couleurs à la place, mais je n'ai pas gâché cela.
-le copier-coller par défaut de screen_crt aura un "* screen_crt_effect_factor", ce qui fait apparaître un gros monolithe blanc au loin et l'holomap cesse de fonctionner. il suffit de le leur retirer ;

il existe un moyen de créer des lignes de balayage mais elles ne fonctionnent pas correctement, donc une fonction de code pour des lignes de balayage appropriées au lieu de l'effet cassé des écrans normaux serait grandement appréciée.

Plus de guides :

Laisser un commentaire

ArabicEnglishFrenchGermanItalianJapaneseKoreanPortugueseSpanish