Is there a way to connect particles with lines? just like plexus? (link inside)

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
Old 06 June 2012   #1
Is there a way to connect particles with lines? just like plexus? (link inside)

Hi

is it possible to achive this effect with pflow without any additional plugins?

aescripts.com/plexus/
 
Old 06 June 2012   #2
Box#3 would be difficult at best. Box#2 could fake it fairly will with glue and particle skinner, although you would not be able to birth dynamically.

Christian (aka Grimrepoman) showed me a badass system he setup in TP that dynamically created and linked even that was fairly complex IIRC.
__________________
poof ~>Vimeo<~
 
Old 06 June 2012   #3
Originally Posted by JohnnyRandom: Box#3 would be difficult at best. Box#2 could fake it fairly will with glue and particle skinner, although you would not be able to birth dynamically.

Christian (aka Grimrepoman) showed me a badass system he setup in TP that dynamically created and linked even that was fairly complex IIRC.


Dou you mean just bunch of aligned points? If so i think its not too hard to "connect" points in one - many fashion. (without complex rules ofcourse))

Last edited by 3ak : 06 June 2012 at 03:33 PM.
 
Old 06 June 2012   #4
I gave it a shot and wrote a scripted plugin object that creates lines between specified points. Since pflow does not do well with dynamically created objects the plugin is a single object that creates cylinder mesh elements between points given as inputs. This is how far I got this evening, don't know if it is something like this you are looking for though.

http://folk.ntnu.no/havardsc/tmp/pflowcylinder.mov
__________________
Homepage clicky clickey!
 
Old 06 June 2012   #5
I just did it in TP, it was rather simple - creating wire particles on each node particle, aligning them to the next node particle, and scaling them with the distance to the particle.
 
Old 06 June 2012   #6
Yes. it's very simple setup to get something like this:


But how to connect not just nearest or all points within search radius but only defined number -let's say connect only 3 nearest particles? There is no Sort op in Tp (or pflow) or at least conditional loop op. So only scripting or overcomplicated node setups?
 
Old 06 June 2012   #7
Then your search particles will be 3, referenced to the original one, and your will create a particle each time you make a connection, and not connect to that one next time.
 
Old 06 June 2012   #8
Whats the performance for doing this in TP? Say with 5K bindings using a 3 faced mesh for each binding?
__________________
Homepage clicky clickey!
 
Old 06 June 2012   #9
Originally Posted by haavard: Whats the performance for doing this in TP? Say with 5K bindings using a 3 faced mesh for each binding?


something like that:


is realtime (9800 scaled cubes). but it just connects particle with ALL found ones within radius. if make it more complicated - some more rules - will be slower=) There is no Sort nodes in TP, no loops except forloop, so it will be much slower due to overcomplicated setup to make it connect only 3 nearest points for example.

Last edited by 3ak : 06 June 2012 at 06:02 AM.
 
Old 06 June 2012   #10
Did a stress test myself and it seems really promising. Building gradually from nothing up to ~850K polys ~280K connections the mesh build time peaked at ~ 0.15 ms for a frame. The build time ascended somewhat linearly from what I could see. Pflow rebuilds it twice for some reason, but the second build time is minuscule compared the first. The actual bottle neck is checking the distance to other particles I think, but I capped that to about 15 particles per particle with about 10 particles in the event.


http://folk.ntnu.no/havardsc/tmp/pflowCylinderST001.png
__________________
Homepage clicky clickey!
 
Old 06 June 2012   #11
Nice group effort, go team!
__________________
poof ~>Vimeo<~
 
Old 06 June 2012   #12
Originally Posted by haavard: I gave it a shot and wrote a scripted plugin object that creates lines between specified points. Since pflow does not do well with dynamically created objects the plugin is a single object that creates cylinder mesh elements between points given as inputs. This is how far I got this evening, don't know if it is something like this you are looking for though.

http://folk.ntnu.no/havardsc/tmp/pflowcylinder.mov


That's sweet! I did it with particle skinner in the past. Any chance to share the setups/script? I could pitch in something like that: https://vimeo.com/28715115

cheers,
Anselm
 
Old 06 June 2012   #13
wow, i didnt expect so much attention This plexus thing is kind of popular right now.

haavard- awesome plugin, it's exactly what i was looking for... I have 3 questions:

Will the lines stay attached to points when they are moved by turbulent wind? I suppose the top and bottom vertices would have to be linked to the pflow points so when i add turbulent wind or find target node, the lines move with points.

does it work with max 2011-2012?

Would you share or sell it -_- ?

Last edited by Piotrek255 : 06 June 2012 at 12:36 AM.
 
Old 06 June 2012   #14
Yes to all questions Let me cook up some examples and I'll post the script.
__________________
Homepage clicky clickey!
 
Old 06 June 2012   #15
To use the plugin with pflow you need to create an instance of it and reference it in a scripted operator. I created some example files that shows two different ways of doing this: One that creates a cloud-ish like blob and on that follows a walk cycle animation. The files and the script can be downloaded here: http://folk.ntnu.no/havardsc/scripts/pflowCylinder/

The cloud scene spawns particles that the mesh plugin object samples once they are spawned to create links. How long each particle try to sample other particles is based on the age operator in the pflow system. This is cached in the object, but since scripted operators in pflow are pretty slow this may take a second or two if you crank the particle count up. Since the links are in one single mesh object you can manipulate them all - like you do with normal objects. In this scene I added some modifiers to create some motion to the object:

http://folk.ntnu.no/havardsc/scripts/pflowCylinder/cloud.gif


The next scene is a bit different. It spawns particles on an animated object and samples the positions of these particles at each frame and rebuilds the mesh. This is done with two scripted operators. One that calculates what particles that connects together once and store their IDs in the mesh object. The other operator uses these collected IDs to sample their positions and rebuilds the mesh at each frame.

http://folk.ntnu.no/havardsc/script...nder/dragon.gif

The main difference between these examples is that the mesh is only built as long as the particles spawn in the first example, and the mesh is rebuilt on each frame on the last examples to follow the walking dinosaur. You only can build the mesh using maxscript or scripted particle flow operators, so some knowledge with one of those is needed.

I don't know how easy it is to use for others at the moment, but I have added comments to the scripted operators so you get an idea on how I approached it.
__________________
Homepage clicky clickey!
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright ©2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 06:42 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.