View Full Version : Fine control over particles driving fragmented objects

10 October 2008, 11:46 AM
I've been having some pretty good results out of this for a while - breaking the object up into pieces, assigning a particle to each one and taking it apart/building it up.

But I've not seen any tutorials on how to get fine control over the particles - it all seems a bit haphazard.
For example - I've got this building with 3 sides at odd angles. (
The skin is made up of rectangular panels and I want them to first slide out, rotate around their top pivot and slide into place - ready for another to slide out and repeat. The final intent is for it to have a very clunky, slightly awkward seeming but deliberate motion.
Here's a (awful) sketch showing what I mean: (

Problem is, whenever i try to give my particles a rotational value, they dont respect the original pivot point orientations. All the options in 'rotation' are based around world space, whereas I want to grab the local space of the original object. as shown here - it works fine on one axis only, but the second they turn a corner it's all over: (

I also dont know how to script a starting position, or to get them to shift along an axis by say 50mm over the course of 3 frames.

What I want to do makes sense in my head, I just cant find any way to do it with the operators and the scripting in particle flow makes very little sense to my limited knowledge - all the tutorials i've seen dont cover small movements and shifts over time. I wouldve thought this a fairly straightforward job, but i've been trying to figure it out all morning now :(

If there was a position operator, and you could set the number of frames it took to get there as well as a rotation one with the same, and they both supported 'local' pivot points, i'd be sorted. But this seems awfully complicated for what I would consider incredibly basic movements. Seems the more complicated the motion in pflow, the easier it is to do it.

Does anyone have any ideas how to do this? Or any really good guides to scripting small, finely controlled movements of particles?

10 October 2008, 12:00 PM
I'm sorry I have little time to expirement, and my nvidia is dying so ...
- Have you shape - instanced a plane or a box that has a top pivot?
- Spin Operator has a particle space option, with divergence set at 0 I think you can use it as a rotation.
- Another option is to use the normals of the surface you want the particles, as the guide for a Speed by Surface "Surface Normals/Out of Surface", and make rotation goes "Speed Space", that would stop the spinning only, for the pivot try the instance like above.
I'll come back later and check it out.

10 October 2008, 12:25 PM
Thanks for the reply :)
I hadnt been using the shape instance - it was a script which grabbed a few hundred objects named in order and generated particles for each one, and then linked the geometry.

I just had a go of the shape instance, which seems quite promising - but one thing I forgot to mention was that the panels i need to drive will have different material id's to create a pattern on the side, and it doesnt look like i'll be able to do that this way.
Please correct me if i'm wrong though, as i've never used this before.

I went back and checked my original particles/objects too to see if i could use spin/speed by - but when I rotate the pivot point to match the orintation of the original object, after particle flow grabs it, the orientation doubles up. So all my angles are multiplied by 2.
If I reset the xform it fixes it and gets them into the correct positions, but the problem is it also resets the orientation of the pivot point. How do you reset the xform while keeping the pivot point at an angle, to lock it in?

10 October 2008, 01:55 PM
- Material Dynamic / Material Frequency.
- lost you there, upload a stripped version of the scene.

10 October 2008, 02:07 PM
This is the scene i've been using as a stripped down learning tool. I took all the messy pflow stuff off and just took it back to what I know, showing the problem with the rotating objects.

10 October 2008, 02:37 PM
I'll give it a go later.
Please check this out?
It's not ultra-accurate, but me thinks you can use it as a start.
(file in attachment).

10 October 2008, 02:50 PM
The motion of them is cool, thats a pretty good help, thanks :)

When I mentioned i'd need material i'ds on the panels, i meant very specific ones to create a pattern - the side of the building looks like this: (
Theres 5 id's which it uses to create a gradient type effect wrapping round it.

Is it possible to keep that while using the shape instance? that was the reason behind the script initially.

CGTalk Moderation
10 October 2008, 02:50 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.