Carrier Command 2: Guida alla modifica dello shader dello schermo

Questa guida ha lo scopo di salvarti dalla frustrazione per tentativi ed errori di apprendere la semantica degli shader per personalizzare gli schermi come preferisci. Tl; Nessun crack, apri i miei file mod per controllare ora, c'è una guida di riferimento per il controllo semplice su come ho ottenuto l'effetto x.

 

Introduzione

Che cos'è uno screen shader?

Sembra una domanda piuttosto semplice, ma ci è voluto un po' di ricerca per trovarla.
Uno screen shader è un file shader che si trova all'interno di rom_0/shaders con i nomi dei file screen_crt.glslscreen_crt_hud.glslolomap_post.glsl.
Il primo è responsabile degli effetti CRT sugli schermi di tutto il controllo del ponte, come il rumore statico, le linee di scansione e persino quella temuta curvatura del bordo del vertice che fa sembrare che sia stato piegato come un pessimo pezzo di latta! Il secondo è responsabile degli effetti CRT dell'HUD nelle telecamere dei veicoli e nella cam del periscopio della tua nave, ma non te ne accorgi mai. L'ultimo si occupa dell'olotable e di come appare. Sebbene l'olotable abbia la propria luce nel suo file oggetto, è puramente a scopo decorativo per creare una luce di area economica per far sembrare che illumini l'area circostante più di uno schermo. Questo sembra spegnersi con la mappa olografica che è scura colori comunque, non c'è bisogno di cambiarlo.

Le tre sezioni successive trattano i singoli campi modificabili in ordine dal primo all'ultimo. Fare riferimento a loro di conseguenza.

Screen_CRT.glsl, schermate normali

Questo è di gran lunga il più ampio da modificare, quindi entriamo semplicemente nell'argomento.

Risoluzione dello schermo x/y

controlla la risoluzione dell'effetto relativo in base al monitor o alla risoluzione del set di giochi, per qualche motivo. controlla anche il piano generale degli effetti aggiunti ma non l'ho toccato.

pi

non toccare questo, usato per gli effetti RNG

coordinate del vertice di curvatura sul bordo dello schermo

il primo grande blocco di pura roba, tuttavia puoi modificare solo due campi. il primo valoree(default 1.0) è il valore effettivo dell'intensità. impostandolo a 0 si rimuove l'effetto. l'altro valore (default 0.5) è il centraggio dell'effetto warp. quindi, cambiando a 1, l'effetto verrà spostato a destra, mentre 0 verrà spostato l'effetto di curvatura a sinistra. perché vorresti questo non lo saprò mai, ma disabilitare gli angoli arrotondati in questo modo causerà la sovrapposizione degli schermi sui bordi del modello dello schermo non quadrato nel gioco.

linee di scansione

non lasciarti intimidire dai numeri qui, scomponiamolo
il fattore di distanza è la distanza tra le linee, con 4 il valore predefinito. la riga successiva è la quantità di pixel interessati da questa curvatura della linea di scansione. la luminosità della linea di scansione è la luminosità della linea di scansione in un rapporto tra gli ultimi due numeri. in questi, l'effetto è sempre sinistro e l'output dello schermo originale è quello destro. quindi un valore di 0.2, 0.8 sarebbe l'80% dello schermo normale con il 20% di visibilità della linea di scansione. numeri maggiori di 1 causeranno colori solidi e non lo consiglio a meno che tu non voglia vedere un gigantesco monolito in lontananza (errore dello shader). il tempo di animazione è la velocità con cui le scanline scorrono, è come ti aspetti ma la scala temporale stessa è sconosciuta (lineare? moltiplicatore? secondi???). il valore di 1.0 nel triplo set di 4.0, 0.0 e 1.0 è la larghezza della linea di scansione, o forse li ho all'indietro idk

aberrazione cromatica

questa è una cosa semplice, compensa i colori rosso e blu sullo schermo a sinistra ea destra di conseguenza. il primo valore è l'intergar di visibilità dell'aberrazione, mentre il secondo valore è l'intensità dell'aberrazione. buono se vuoi rendere i tuoi schermi compatibili con quegli occhiali rossi e blu economici, immagino.

coordinata del vertice deformato 2

questo è l'effetto deformato per l'aberrazione per qualche motivo, a meno che non abbia pasticciato con l'aberrazione non l'ho mai pasticciato ma potrebbe essere buono su ologrammi o qualcosa del genere

l'effetto rumore

le prossime due sezioni trattano del rumore
la risoluzione del rumore è la dimensione dei pixel del rumore, numeri più alti significano pixel più piccoli ma è necessario un multiplo di 2. non ho idea di cosa faccia l'animazione, ma so che il mix (predefinito 0.1 0.9) è il 90% del rumore dello schermo 10%. tieni presente che un aumento drastico del fattore di rumore renderà lo schermo più scuro per qualche motivo. infine, il valore della quantità di rumore del colore è proprio quanto è rumoroso, basta pensare a quello che vuoi e aggiungere alcuni zeri, ma il rumore sembra ridimensionarsi in modo strano con la distanza dallo schermo.

colore

questa è di gran lunga la sezione più semplice, valori in formato rgb
la retroilluminazione è proprio questo, la luce di fondo emessa dietro le cose. ad esempio, la mia mod dello schermo dakrmode imposta semplicemente ogni valore del colore della retroilluminazione su 0. i tre valori successivi sono in realtà filtri colorati e possono bloccare la luce impostando un valore su 0. ecco come ho reso i miei schermi un unico colore, un mix di i due, o semplicemente ♥♥♥♥♥♥♥ BLUE. non impostare valori maggiori di 1, ti dà solo un altro sinistro monolito bianco. tieni solo presente che il blocco di un colore nasconderà alcuni elementi di quel colore, come il blu è il colore della massa terrestre e quindi anche il verde è usato in esso, mentre l'icona di munizioni esaurite per la schermata di caricamento dei veicoli è rossa. questo è il motivo per cui dico che i miei popolari schermi LCD mod sono un downgrade, poiché rende letteralmente l'olomap quasi inutile a causa del fatto che non sei in grado di vedere la nave in nessuna sfaccettatura insieme alle isole.

fattore scenetta

questo non fa... niente. l'ho cambiato un po' ma non fa niente

campione di colore

ancora una volta non l'ho mai toccato, ma sembra essere la luminosità generale dell'uscita. quindi immagino che tu possa oscurare gli schermi?

Screen_CRT_HUD.glsl, La fotocamera

questo è più piccolo ma contiene la maggior parte degli effetti.
poiché segue quasi lo stesso di screen_crt, esaminerò solo le eccezioni e cosa fanno.

nota, la risoluzione dello schermo lo fa NON cambiare la risoluzione della fotocamera.

linee di scansione

qui sono molto più ridotti, e in seguito le scanline si ripetono ma non ho idea del perché l'abbiano fatto. come al solito, sembra solo magro

abbeerazione

questo influisce sull'HUD stesso, purtroppo non sull'uscita della fotocamera

effetti deformati

non importa quanto lo mangio, la vignettatura rimarrà, quindi qualsiasi suggerimento su come rimuoverlo è apprezzato
altrimenti questo non fa praticamente nulla

controluce

la tua retroilluminazione retroillumina l'intero overlay e in realtà è davvero interessante per una videocamera dall'aspetto gradevole, ma l'uso principale è ricolorare l'hud se trovi un equilibrio di luminosità tra il flashbanging te stesso durante il caricamento e un bell'aspetto di cui sei soddisfatto.

filtro colorato

filtra solo l'hud purtroppo, ma in combinazione con la retroilluminazione puoi creare una videocamera per la visione notturna piuttosto malata

fattore vignettatura

non fa nulla per quanto ne so

Holomap_Post.glsl, L'olotable

questo è di gran lunga il gruppo più difficile da far funzionare, quindi esaminiamolo.

aberrazione

l'abberazione può essere utilizzata per vendere l'aspetto olografico di qualcosa, ma in caso contrario puoi lasciarla o disattivarla.

rumore

c'è davvero del rumore, ma si sovrappone solo agli oggetti della mappa olografica, come la griglia della mappa olografica e le caratteristiche dell'isola e qualsiasi altra cosa renderizza. solo non il bagliore blu decorativo dello sfondo o altro

colori personalizzati

per ottenere colori personalizzati, incollalo nel file subito prima dell'ultima riga su colors(color_sample):
vec3 colore_retroilluminazione = vec3(0.0, 0.0, 0.0);

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

questo è semplice ma andiamo oltre
-la retroilluminazione può effettivamente cambiare il colore di sfondo dello schermo, ma quando supera i valori 1 o giù di lì, può illuminare un grande cubo con quel colore per vendere VERAMENTE l'aspetto dell'olografo
-i filtri colorati funzioneranno, ma i valori che nascondono il blu renderanno le isole invisibili sulla mappa, non i nomi. potresti invece fare un vero trucco per far scattare i colori a quelle coordinate di quei colori, ma non ho pasticciato con questo.
-il copia incolla predefinito da screen_crt avrà un "* screen_crt_effect_factor", questo fa apparire in lontananza un grosso monolito bianco e la mappa olografica smette di funzionare. basta rimuoverlo fino a loro;

c'è un modo per creare linee di scansione ma non funzionano correttamente, quindi una funzione di codice per linee di scansione corrette invece dell'effetto rotto dalle schermate normali sarebbe molto apprezzata.

Altre guide:

Lascia un tuo commento

ArabicEnglishFrenchGermanItalianJapaneseKoreanPortugueseSpanish