Quindi, come potrei fare per creare questo tipo di effetto? Stiamo parlando di pixel-shader, metodi / filtri di fusione, effetti bitmap, sistemi di particelle o cosa? Non proprio specifico per la piattaforma. Sto solo cercando la teoria, ma esempi specifici o collegamenti sarebbero fantastici. E più dettagli meglio è.
Tutti i precedenti.
A meno che non ti sfili nel loro codice sorgente, potresti non sapere esattamente come lo hanno fatto.
Tuttavia, dall'aspetto dei due giochi, entrambi hanno quella che sembra essere la geometria che è connessa e segue la nave. Potrebbe non essere necessariamente un sistema di particelle di base sprite, ma non è neanche così difficile.
Alcuni giochi useranno un algoritmo a linea curva e genereranno un elenco di vertici da quello e faranno un po 'di texturing con diverse trame applicate ai due punti finali del percorso, in modo che ad un certo punto lo scarico appaia caldo e dall'altro sia più fresco e si allontana nello spazio.
La nave di un giocatore è un caso interessante perché i movimenti sono imprevedibili e potrebbe essere necessario aggiornare i punti di controllo dell'algoritmo della curva o finire per campionare l'ultima posizione della nave e generare posizioni di vertice basate su quella.
Dai un'occhiata a questa risposta da una domanda precedente se vuoi avere qualcosa che funzioni fuori dai punti di controllo. Tuttavia, per le tue esigenze, campionare la posizione dei giocatori funzionerebbe molto meglio e sarebbe più facile da capire.
Ecco qualcosa per farti pensare:
Inizia a campionare la posizione del giocatore. Questi punti formeranno i segmenti del corpo della tua traccia, da cui è possibile costruire la geometria. È una buona idea mantenere un segmento di coda separato che ha una trama separata. Potresti voler rilevare quando un giocatore sta girando e aumentare la frequenza di questi segmenti, altrimenti finirai con curve a blocchi. A meno che non sia l'effetto che stai cercando :)
In alcuni eventi, i segmenti devono smettere di generarsi e quelli esistenti dovrebbero iniziare lentamente a ridimensionarsi, a partire dal segmento del corpo più vicino alla coda (ma non alla coda stessa). Questo è nel caso in cui il giocatore rallenti. Ma se la velocità alla quale i segmenti vengono ridimensionati corrisponde alla velocità della nave del giocatore, allora un nuovo segmento verrà formato appena in tempo quando ne verrà eliminato uno. Quindi funziona anche bene per una nave in movimento. La lunghezza del percorso sarà sempre la stessa, il che fornisce un flusso fluido e coerente.
Il segmento di testa dovrebbe essere sempre nella posizione corrente del giocatore. Se vengono rilevate svolte, il segmento di testa esistente viene aggiunto a un segmento di corpo e viene avviato un nuovo segmento di testa. Ripetere. A seconda delle trame, anche ogni segmento può avere una lunghezza massima.
Questo ci dà un modo semplice per modellare questo effetto: lavorare sull'idea che l'effetto sarà sempre decrescente / restringente da solo a meno che non vengano forniti più segmenti, e giocare con velocità per evitare che si riduca.