View Full Version : Thinking Particles w/some Xpresso brainteaser
govinda 06-07-2005, 11:03 PM Say you're going to emit paisley-shaped particles that flock/school like fish. It's simple enough to get them to flock and follow a leader (Tim Clapham has a great preset for this). But in this example the particles themselves are rigid. The next level is to get them to bend, meaning that the rear portions of the paisleys will rotationally lag behind the front. Inertia would be the word (and I know that Core Particle Tools had an inertia node, please don't make me cry again), as would 'delta animation' in Arndt's world.
I've gone through a number of solutions, but the one that seems most likely is to rig the paisley with bones and use IK to lead the head of the paisley while a mid and tail bone lag.
I swear I've seen an inertial bone setup somewhere.
And then I'd imagine you'd emit the paisleys and have the IK target null also be a PGravity object for them, and animate it along a spline, and include PAlignment so that the paisleys can take advantage of that magical 'laziness' parameter.
That's my thinking, but I want to throw it out hoping that I haven't missed some really simple solution and, you know, how to do it. http://cgtalk.com/images/smilies/smile.gif
|
|
Rantin Al
06-07-2005, 11:52 PM
Try the Paul Everett Crowd sample with swimming fish.
Bones with a vibrate tag do the moving. You might be able to modify for your needs.
From here. (http://www.c4dstuff.de/plug_index.htm#C)
Cheers, Al.
govinda
06-08-2005, 12:15 AM
Close. Very cool too. I never messed with Crowd until now. The vibrate is more random, good for spermatazoa I imagine, but I don't want random. Also, the fish themselves in the Crowd example are rigid.
Another solution that I'm balking at is to do it with particle tracer or tweener to create a mess of splines, and then a buttload of Path Deformers on my paisley shapes. That's the definition of brute force however.
My ignorance is partly about not knowing how to use Xpresso to say to an object 'do the same as this other object, just do it later.' Inertia is more elegant than that, but some work with action timers and time nodes is a fallback that I'm working on.
Close. Very cool too. I never messed with Crowd until now. The vibrate is more random, good for spermatazoa I imagine, but I don't want random. Also, the fish themselves in the Crowd example are rigid.
Another solution that I'm balking at is to do it with particle tracer or tweener to create a mess of splines, and then a buttload of Path Deformers on my paisley shapes. That's the definition of brute force however.
My ignorance is partly about not knowing how to use Xpresso to say to an object 'do the same as this other object, just do it later.' Inertia is more elegant than that, but some work with action timers and time nodes is a fallback that I'm working on.
Hi Govinda,
Do you mean something like this example. look at the larger fish, they swim and bend as they turn. They are controlled by a TP setup and use softIK for the deformation. If this is what you mean I can explain the principles behind it.
something fishy (http://www.hypa.tv/tims/fish.html)
cheers
Tim
kevin_mcgrath
06-08-2005, 12:34 PM
Hypa - that is sweeeeeeet!
govinda
06-08-2005, 03:53 PM
Hi Govinda,
Do you mean something like this example. look at the larger fish, they swim and bend as they turn. They are controlled by a TP setup and use softIK for the deformation. If this is what you mean I can explain the principles behind it.
cheers
Tim
Hey Tim,
I've seen that three times and only just now realized the principles behind it--brilliant. Not to mention how much fiddling it had to be to keep that one fish from sliding into the foreground-left rocks and stay in frame.
Anyway, that seems to be exactly it. The trick is two fold--(1) the proper rig so that there's 'body lag' and (2) getting it into a TP setup. My particular shapes don't need to deform/swim when they're on a straight line, only when they're going around a corner, much as they would with path deformer.
Best,
Richard
I'm in a bit of a rush so here is a quick solution.
I used softIK bones in the fish so that they would bend and straighten automatically (there's your interia type fake). The dinosaur tail in the original mocca tutorials shows you how to build this simple bone chain.
However softIK will not work with particles. So the trick here is to attach your object to each particle. In otherwords you have to make 10 (whatever amount) fish, as each particle is emitted you attach the fish to the particle. There is no particle geometry as such. By using PGetData you can pass the particle positon to the fish position with Xpresso. Then you can still have all the behaviour of the particle system, plus the action of the softIK.
HTH
Tim
p.s. If that doesn't make enough sense then let me know and I'll go into a little more detail.. .but gotta go now!
govinda
06-08-2005, 04:46 PM
No worries. The Western US/UK time diff means I have all my day to do my own tries. I'll post my results. Thanks for the tip!
onostuff
06-08-2005, 05:49 PM
Hey Tim,
That's great. Yes,please go into a little more detail so us TP newbies can get a handle on this. I plan to be doing more "fish motion" in the near future.
Thanks
Patrick
LucentDreams
06-08-2005, 07:03 PM
made sense to me tim and I'm stupid when it comes to TP still
govinda
06-09-2005, 09:38 AM
There is no particle geometry as such. By using PGetData you can pass the particle positon to the fish position with Xpresso. Then you can still have all the behaviour of the particle system, plus the action of the softIK.I got onto a machine with mocca installed, and I was blown away. Wow, I've ignored it since the very first version, and it's so much better now. It's opened up whole new avenues.
I've gotten a rough of my animation with all of one functional IK'd object in the mix. A couple of things are throwing me:1) Alignment: PGetData has an 'alignment' output that probably needs to be wired to my object, but how? Does there need to be an adapter node between my PGetData and my object? And I'd imagine I really need to align to my particles after they've been PAligned, which I don't know how to do.
2) Iterations: Do I need a separate object and a separate PGetData for each object? Getting individual particle positions sounds like a CPT functionality, which I don't have.
Thanks for your help--that one paragraph did quite a bit of good, especially forcing me back into mocca.
I got onto a machine with mocca installed, and I was blown away. Wow, I've ignored it since the very first version, and it's so much better now. It's opened up whole new avenues.
I've gotten a rough of my animation with all of one functional IK'd object in the mix. A couple of things are throwing me:1) Alignment: PGetData has an 'alignment' output that probably needs to be wired to my object, but how? Does there need to be an adapter node between my PGetData and my object? And I'd imagine I really need to align to my particles after they've been PAligned, which I don't know how to do.
2) Iterations: Do I need a separate object and a separate PGetData for each object? Getting individual particle positions sounds like a CPT functionality, which I don't have.
Thanks for your help--that one paragraph did quite a bit of good, especially forcing me back into mocca.
Hi Govinda,
If you download the swarm4 file from Sreks website, he has made a rather handy Xpresso setup that will automatically attach your objects to each particle. Here's a link to that page.
Srek TP downloads (http://www.bonkers.de/download/downloads.html)
This also shows softIK in action, but you'll need to disable the HardIK checkbox in each anchore bone first.
HTH
Tim
CGTalk Moderation
06-09-2005, 03:59 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.