Choreographing Particles (an interesting technique)
You may be interested in the concept of generating fine grained control of the spatial placement of 3D Particles and 3D Model Particles in Isadora. The attached patch demonstrates a technique that reads a point cloud data file (an external .txt file) and delivers the coordinate spatial points to each particle as it is being generated by the Isadora native particle actors.
There are two point cloud data files included one is a simple torus the other a rather beautiful Fibonacci sphere. The text files are read into the Isadora patch rapidly using a Data Array actor and Pulse Generator. This delivers coordinate data sequentially to the xyz input parameters of the 3D Particles and 3D Model Particles actors as each individual particle is emitted. This generates a pattern of particles in the shape of the point cloud data. Additional actor parameters can then be programmed to animate and colour the particles interactively e.t.c.
A distribution of the 3D Particles using the Fibonacci sphere point cloud data.
A distribution of the 3D Model Particles using the Fibonacci sphere point cloud data.
A representation of the point cloud data contained in an associated text file.
[Edit] Here is an updated download with a user actor that calculates an optimal Particle Count and Trigger frequency based on the Isadora preference settings.
dbini last edited by
Russell - this is beautiful. next level particle patching. can I ask where did you get your cloud point data from?
You can generate the point cloud data using MeshLab software.
Bill Cottman last edited by
gapworks last edited by
excellent indeed! i especially love part3
These examples are to reveal and demonstrate the use of a point cloud data technique in Isadora. I really look forward to seeing where this might be taken because it has a lot of potential for generating exquisite real time particle effects.
If you use these techniques and generate something unique please share back, I would love to see what is possible.
Clement last edited by
Thanks a lot for sharing Russell, this is very interesting !
Great patch. I really enjoy what you have done here.
I have found some performance issues, that can be improved on a bit.
The rate that you are pushing values, and the total number of particles you are creating seem to be arbitrary, although I am sure you were just looking for the max the system can create.
I have found that if I calculate the number of max particles that I can create during the lifetime of the particles (based on the life duration and the cycles rate / FPS) I can reduce the number drastically, greatly improving performance on my mac Mini.
So, it is worth mentioning that the Cycle rate is the max number of triggers that can be sent to an actor per frame.
Therefore if the Cycle rate is 8 and the FPS is 30, there is no point to trigger anything at a rate faster than 240 hz.
And if you can then create 240 particles per second, while the particles live 10 seconds, you only need a max of 2400 particles, for the max effect.
I was finding some issues with 40000 particles, in some cases leading toward a crash. (being investigated further)
Again, thank-you for the cool approach. It's something I am excited to dig into more in the future as well.
Here is an updated patch with a user actor that calculates the optimum Pulse trigger setting and Particle Count based on using the properties set in the Isadora Preferences for Target Frame Rate and General Service Tasks.
You are absolutely right! You have raised this issue as a prerequisite, and thank you - your generic formula will assist in optimising patches that use this technique and is a great contribution. I will make sure it goes into the notes for the version that uploads to the Plugins page.