I attended the plugin coding workshop for noobs at node10 today and after roaming around the addon pack thought, a proper particle engine might be useful.
I put some thought into this and came up with the idea to have a particle workflow in vvvv which starts at emitters, can be modified by effectors and ends up as a spread of transformations which you can then apply to geometry or images or anything you like. I have already started on a framework for this which I have attached to this post. You can already see the basic particle-flow there, although there is not much more than a gravity effector at this point. I thought I’d show this to everyone to collect some comments if this kind of stuff is actually needed around here, or if I have missed some other fantastic particle suite out there. A demopatch is in the plugins folder, I was not sure how to distribute this properly.
A few words about the concept:
You can see that I have emitters who’s particleflows can be split up by splitnodes (you see AgeSplit in action here) and joined together again by joinnodes. The idea being you can seperate out certain particles based on certain conditions like age, orientation, position, scale, color, id, patterns etc. to kill them, perform different effectors on them or even use them to generate new particles at this point. Effectors could be gravity, radial forcefields, scalers, transformers, radial velocity appliers etc. etc. Once the framework is in place writing aditional plugins for the Particle Suite should be pretty easy.
About the code:
This is my very first vvvv plugin (and also almost the first time I have actually used vvvv), so comments about the coding and patching style are very welcome. I seem to get into a lot of trouble with inlets not being connected and strange spreads with a slicecount of 1 but nothing in it.haunting my nodes. Any thoughts about that would be quite apreciated. Also what are the coding conventions about variable names? All with capital starting letters? Or only objects capital and primitives starting small. Let me know :)
ParticleSuite (102.7 kB)