Jako że w internecie nie ma nic konkretnego na temat Particle Systemów – postanowiłem zajrzeć do źródeł Irrlichta (tam jest aż za nadto konkretnie 😛 ). Pooglądałem sobie to tak przez 5 minut wczoraj i dzisiaj rano już wpadł mi do głowy pomysł jak można to rozwiązać. Ciężko powiedzieć, że jest on innowacyjny bo opiera się mocno na tym z Irrlichta, ale ważne że działa 😉
Postanowiłem stworzyć klasę ageParticleEmitter, która zajmuje się jedynie ustawianiem cząsteczek w pozycji początkowej i ustawianiem długości ich życia. ageParticleSystem przyjmuje wskaźnik do klasy bazowej emitera, a to daje możliwość definiowania niestandardowych (box i point) emiterów. Na przykład parabolicznych lub liniowych:
Chcę jeszcze napisać ageParticleAffector dzięki czemu będzie można kontrolować zachowanie cząsteczek przez stworzenie odpowiedniej sub-klasy.
Rozwiązania, o których napisałem nie są niczym niesamowitym, ale dzięki ich zastosowaniu można stworzyć niesamowite efekty 🙂