Come posso modellare una stella?


22

Sto cercando di modellare una stella in Unity e, in un certo senso, funziona, ma non è l'ideale. Attualmente sto usando una grande sfera con un materiale autoilluminante contenente una trama a stella applicata sulla sua superficie e un riflettore per creare l'effetto della luce delle stelle, in questo modo:

inserisci qui la descrizione dell'immagine

Mentre funziona, non sembra il massimo. Sto cercando un effetto più in linea con il modo in cui il programma spaziale Kerbal modella una stella:

inserisci qui la descrizione dell'immagine

Come posso ottenere questo effetto?


1
Non conosco Unity, ma sembra che tu debba disegnare in una modalità di fusione "additiva".
Thane Brimhall,

1
Puoi sempre andare in questa direzione: shadertoy.com/view/XdBSDh
Alan Wolfe,

4
Devi essere molto più specifico e dimostrare di aver fatto le tue ricerche. Esistono moltissime informazioni per il rendering delle stelle. In genere, utilizzerai un cartellone 2d rivolto verso la fotocamera per rendere la corona sopra la tua stella generica. Nessuno può insegnarti tutto ciò che è necessario per creare una stella dall'aspetto realistico su una risposta SE. Ecco un buon tutorial dal gioco Seed of Andromeda. seedofandromeda.com/blogs/51-procedural-star-rendering . Un altro tutorial più rozzo su reddit, ma buone informazioni comunque seedofandromeda.com/blogs/51-procedural-star-rendering
Fuzzy Logic

In Unity, cambia lo Shader del materiale in Additivo (penso che sia nel sottomenu Particella, perché la modalità di fusione Additivo è principalmente utile sulle particelle).
scherzando il

1
@Shane Due anni dopo, ma meglio tardi che mai. Cin cin .. reddit.com/r/gamedev/comments/33xuyj/procedural_star_rendering
Fuzzy Logic

Risposte:


25
  • Usa una trama animata. * Ci sono alcuni buoni nel negozio per <$ 10.
  • Aggiungi un alone. È possibile utilizzare il sistema particellare o semplicemente una trama bagliore trasparente su un cartellone di fronte al sole con uno script per riposizionare la trama quando la telecamera si muove. Ciò nasconde i bordi con alias del modello a sfera, consentendo di utilizzare un modello poli inferiore e ha un bell'aspetto.
  • Ruota il sole, lentamente.
  • Usa il sistema particellare per le eruzioni.
  • Usa uno shader personalizzato per far combaciare bene i bordi con l'alone (moltiplica il normale con il vettore della fotocamera per trovare i bordi).

La gif animata mostra prima una trama statica, seguita da una serie di aggiunte, nell'ordine:

  1. Trama animata
  2. Illumina i bordi della sfera in base alle normali
  3. Aggiungi cartellone trasparente rivolto verso la fotocamera con alone bianco / giallo
  4. Particelle, che si spostano dal centro verso l'esterno, quindi si sbiadiscono
  5. Aggiungi 2 cartelloni "ray" trasparenti, rivolti verso la telecamera e ruotando lungo l'asse della telecamera in direzioni opposte.

Costruire un sole

Con la trama animata, assicurati di usare le mipmap o sembrerà orribile ad alcune distanze. I framerate lenti nella trama (10 fps) vanno bene quando guardi un sole da molto lontano, ma quando ti avvicini, potresti anche voler usare un framerate più alto. Se non si dispone di una trama framerate elevata o non si può sprecare la memoria video per una, è possibile utilizzare uno shader personalizzato per interpolare ogni altro pixel in base all'immagine precedente e successiva.

Modificando l'uso di Tonalità / Saturazione / Valore all'interno dello shader, puoi ottenere risultati come questi, senza mai dover modificare la trama:

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine [inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Ho iniziato con un modello economico del negozio, quindi non ho dovuto realizzare la trama animata. D'altra parte significa che non posso condividere l'attuale prefabbricato, perché la trama è stata acquistata.


* In alternativa, è possibile esaminare la mappatura del rumore 2D su una sfera e utilizzare il rumore 3D per la dimensione temporale, oppure utilizzare il rumore 4D se non si desidera eseguire la mappatura e si può risparmiare la prestazione.


3
Se miri a renderlo realistico: i bordi di una stella in realtà non sono più luminosi ma meno luminosi del centro del disco.
planetmaker,

1
@planetmaker Assolutamente. Ma un effetto di bell'aspetto è più facile da ottenere con un alone bianco o bianco e dettagli al centro. Può essere fatto in un altro modo, ma penso che sia un po 'più complicato. Guardare un sole realistico ci acceca definitivamente, quindi non vogliamo un sole realistico :)
Peter - Unban Robert Harvey,

10

A parte il sistema di particelle e gli effetti alone di cui Vadim ha parlato, potresti creare il tuo effetto shader. C'è qualche introduzione agli shader per Unity e le possibilità sono infinite .


Non so se hai trovato o creato quello shader, ma è assolutamente meraviglioso.
Draco18s,

No, non ho creato lo shader, purtroppo la mia conoscenza degli shader è piuttosto semplice. Ma sono d'accordo, è stupendo;).
Madmenyo,

2

Prova a usare un sistema particellare e un effetto alone. Puoi anche aggiungere una luce alla stella e avere un effetto di fioritura sulla tua fotocamera.

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.