Rendi la visibilità della piattaforma distinta dallo sfondo


15

Ho un gioco di tipo corridore infinito 2d il cui sfondo cambia costantemente i suoi colori. Nel frattempo il colore delle piattaforme rimane lo stesso. In questo modo le piattaforme a un certo punto (quando il loro colore è uguale a quello dello sfondo) diventano "invisibili" per il giocatore.

Come posso evitare in modo creativo, breve e conveniente questo problema con l'unità?

PS Ho provato ad aggiungere materiale lucido ma non ha funzionato .

Risposte:


20

Vecchio trucco - nuovo aspetto:

Esempio 1

Aggiungi uno strato di colore alle tue piattaforme che aiuta a mantenere quella linea definita.

Esempio 2

La tua soluzione di linea o di altra grafica può variare ma il principio è lo stesso: il colore che scegli può essere sottile o forte come hai bisogno che sia.


La risposta più bella di tutto il mondo. Direi che la vita qui, ma sappiamo tutti che sarebbe una bugia. i1.memy.pl/obrazki/8f68408024_no_life.jpg
ZenVentzi

1

Dato che questo è un corridore infinito, suppongo che i tuoi colori di sfondo siano generati proceduralmente. Non sono sicuro del tuo algoritmo, ma prendo quell'output di colore e ne limiti l'intervallo.

  1. Potresti semplicemente escludere i colori della tua piattaforma come possibile opzione di colore di sfondo (ma lo sfondo potrebbe essere leggermente diverso e difficile da differenziare). Ad esempio: IF backColor = platformColor THEN GetNextBackgroundColor (). È possibile creare anche una funzione 'IsColorSimilar (color1, color2)', ma più difficile.

  2. Utilizzare un elenco di colori di sfondo validi noti e scorrere tra loro.

  3. Hanno stili di colore diversi per entrambi. La tua piattaforma potrebbe essere luminosa e allegra e limitare i colori di sfondo a colori desaturati. Devi allontanarti dal tradizionale modo RBG di rappresentare i colori e passare a un modello come HSL.

Un ottimo componente aggiuntivo Unity per lavorare con i colori è ColorTools. Costa $ 10, ma ne vale la pena. https://www.assetstore.unity3d.com/en/#!/content/21966

Dispone di metodi per generare colori per quello che stai cercando, come Desaturate () per desaturare il colore di sfondo generato e IsSimilar () per verificare se i due colori sono troppo vicini tra loro.

Puoi trovare altre funzionalità simili gratuitamente in altre librerie in rete con un po 'di ricerca.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.