Sto progettando il mio motore di sistema particellare, questo è per scopi di apprendimento, non voglio veramente usare un motore esistente.Particle System Design?
In questo momento ho generato particelle bellissime, ma voglio impaginare il motore per rendere più facile il lavoro con loro.
Ho riflettuto su una classe "Sistema di particelle",
quella classe conterrebbe i seguenti riferimenti:
particlesList: Un elenco delle particelle che compongono il sistema.
systemEmitter: L'emettitore sistema di particelle, la classe emettitore dovrebbe essere in grado di eseguire diverse tecniche di emissione di particelle, come per esempio, emettendo dalle linee, punti, emettendo caso da un poligono. Anche questa classe dovrebbe fare il controllo delle emissioni, come l'emissione verso un punto, lontano da un punto, in una direzione e tempo da emettere.
particleController: gestisce ad esempio la rotazione intorno ad un punto, granulometria variabile, colori particelle variabili, zone intorno al sistema di cui le particelle reagiscono in modi diversi, rilevamento di collisione (con altri oggetti o all'interno delle particelle se diventa necesary).
particelle renderer: preposto alla redazione questo sistema, i tipi di fusione variabili, texture di particelle, tipi di particelle, come triangoli, cerchi, su misura ...
Questo quattro voci, sarebbe comporre la classe sistema di particelle. Alcuni FX potrebbero richiedere più di un sistema di particelle, ad esempio un Fire FX, potrebbero utilizzare un sistema per l'incendio, un sistema per il fumo e un sistema per le scintille.
Questo è quello che ho in mente, ma mi piacerebbe davvero sapere se questo approccio progettuale è buono, o se vedi mi manca qualcosa o potrei/dovrei fare qualcosa di diverso. Non ho pensato ad un modo semplice per "salvare" FX, ad esempio quale sarebbe il modo migliore per dire al mio motore, "disegnare Fuoco", "disegnare esplosione", "disegnare fontana", ecc., Magari memorizzare informazioni FX nei file xml sarebbe una buona idea, ecc.
Le opinioni sono davvero benvenute, e come ho detto prima, voglio davvero costruire questo, invece di usare un altro motore, per motivi di apprendimento.
Grazie per la tua risposta !, sì, sto pensando di renderlo con OpenGL. Anche l'idea di interpolazione non lineare è veramente buona, e dovrebbe essere in grado di creare delle visuali piuttosto buone con essa. – Goles