Particle Flow Discussion


Thanks Johnny.

That’s i’m talking about. Picking a children working normally, but you can’t pick a parent. Particles will propagate down the herarchy. And it’s doesn’t matter how many levels you have. They will be placed down the entire tree. Crazy bug.

The only workaround is to use dummys, making parent object become children.


I am surprised I hadn’t noticed this before I link often, although mostly to points.


Yeah, I just checked, same behavior is in 3ds max 2011 and even on 2015 versions. Just reported to Autodesk. Finger crossed :beer:


isnt there any way to make the cache disk (max2014) not history dependant?

I mean, it seems that particles are cached from one frame to the other (only the frame to next frame move is stored)
So it’ s a real bliss when I scrub frame after frame,
but as soon as I need to jump many frames ahead, it lasts ages to refresh
(Because , i venture, PF needs to go trough each of the frame in the interval to build the resulting state)

Of course each frame would weigh much more and frame loading time would be higher, but storage is a minor issue and SSD make access time way faster so it d worth it


Well if it is lagging like that one of two things comes to mind, the cache is massive or you haven’t cached the system.

Cache Disk was designed as a manual process, so tweak, update cache, tweak, update cache. Unlike Standard Cache which will update on the fly until its ram allocation is full.

Does that help?


Hi guys. :slight_smile:
Is it possible to send (m)particles to another event by texture map?

For example, I don’t want to use deflector to continue to next event, but I want to use animated gradient ramp to send particles to another event.

If it’s not clear, I’ll explain better.


Of course :slight_smile: Just use Point Color of the object. See examples:


Awesome Johnny! I was hoping you will reply.
We should give you some reward (and CG Talk some award) for helping so much to various people.

Here is what inspired me:

(look from 12:55)

I was listening Allan, and his talk about how hard was to achieve this effects, and I was like: “Naaah… that doesn’t look so hard”, so I created teapot (fragmented and in mparticles), and stuck at first step. :smiley:

Thanks again Johny. :slight_smile:

Looking now at your test. I’ve never used data flow, so I don’t have a clue what you did (btwm do you know any good beginners tutorials on data flow?), but I’ll try to use that for my tests.
Basically, I want to fragment teapot, and then that those fragments fly off by animated gradient ramp on teapot (similar like any traditional pflow dispersion effects, but not triggered by deflector collision, but with animated map).



Sure no problem.

I can explain what the operator is doing, it should be pretty straight forward:

The Plane has an animated gradient ramp on it. The Data Op is looking at the Plane (Select Object), it is looking for Point Color (Geometry->Closest Point by Surface + Geometry->Point Color). What that means is were a Particle is intersecting with the Plane that is the Point and at that Point the sub-op is looking for a Color. Since Color is a point3 or a Vector [R,G,B], we only need greyscale which just happens to be the Length of that Color vector (Convert->Vector to Real - Length) So now we have something that reads the greyscale color that is traveling across the plane. When that Color changes at the Point of the Particle it will trigger a Condition True/False (Condition->Is Greater than A) If the condition is met the Particle is sent to the Output.

I have a few Box#3/ADM tutorials on my vimeo page (mostly examples with scene files) Anselm aka Psychosilence has some great tutorials and DVDs, ParticleSkull also is coming out with some really cool tuts too. There was a user here 3ak who had some really cool setups, super smart dude (assuming he was a dude, may have been a dudette :smiley: always hard to tell with anonymous users) haven’t seen them around in a while but searching should show some of their stuff.

If your fragments have an animated gradient on them I will make another example. The idea would be relatively close to the same.


Again, thanks a lot Johnny.
With the help of your data operator, I’ve managed to do (one of the first) test.
Works perfectly!

I owe you the result, so here it is:


Seems that embed not working… here’s the direct link:


Nice that worked pretty good! :slight_smile:


Hi guys
I need some help on data ops. Basically I am trying to get a breeze blowing across an objects surface and just affecting the rotation of the particles, in a similar way to a sequin wall.
I have created a data operator that reads the color values of a normal map and then rotates the particles accordingly.
So here is my problem, I assume that the particles rotation values are all in world space, so it works perfectly on a flat plane. I however would like it to work on 3d objects. So I want to use a data operator to first align the particles to the objects normals. Does anyone know then how to just add what would then need to be rotations in local space from the normal map.

Open to any solutions.

Just saw Johnny did this
Needs to be that pretty much just on and object with normal aligned particles.


If anybody cares, here are some snowballs done with pflow/mparticles. Cheers, N


Is it just me or the whole Particle Flow system is a bit buggy (at least in the 2014 edition of 3DS Max). I’m fairly new at this and I’ve been experimenting a lot, I’ve noticed a bug regarding deflectors. Although ‘regular’ single particle seem to collide just fine with a deflector, in my test scene as soon as I add a spawn test and create a kind of trail behind each particle, some particles seem to skip the deflector. I’ve tried with as little as 10 particles and I’ve seen even 4 particles skipping the deflector.

Has anyone else noticed it?


There is no bug free software, but one thing to keep in mind when using Collision operators and Deflectors is that the order of operators matters. Depending on where in the event or in the flow the Collision is processed relatively to the Spawn operator, some particles might just pass through. In the simplest case of a single Event, Spawn and Collision, if the Spawn operator is placed after the Collision, the Collision will process the new particles in the next integration step, and at that point they might have already passed through the Deflector. If the Spawn is before the Collision, the new particles should hit the Deflector. If they still pass through, reducing the Integration Step duration might help (esp. with complex mesh-based deflectors).
In the more complex case of sending out the trail particles to a new Event, obviously both Events need the Collision to happen after the Spawn, or putting the Collision in the Global Event to it processes the collisions after all Speeds have been assigned, but before the new Positions have been calculated.

If you would post a simple test scene showing the leaking particles, someone on this forum might take a look and see if there is anything obvious you could do…


Thank you for your reply… Here’s my very simple 350kb test scene…

Just some particles coming out of the surface of a sphere, dripping on the sphere and below (I’ve tried with lock/bond too, at this point I’m using Speed By Surface). With the Spawn test disabled all 10 particles collide with the Deflector, when I enable it I can see five of them leaking…

Also, exactly how can I pass the parent particles along with their children as a pack to another event? I’ve tried moving the Collision test to the “Spawning002” Event before the Delete operator but I still see some leaking…


Not quite sure to understand what you need, perhaps I’ve to re-read your post, but your scene seems to work just fine.
Your deflector is set on Continue, so particle don’t bounce. In the event you wired to the collision there’s a gravity which makes particles moving even faster.
If that’s what you want then it’s working, and if you want to keep the particle spawning after the collision you may just want to add another spawn operator in the event with the gravity and you’re done.


As I suggested in my previous post, changing the Integration Step to 1/8 Frame solves the problem. At larger steps, you get 5,3 or 2 particles leaking. You should change both integration steps (viewport and render) in the Source.


Thank you very much, I hadn’t even noticed that setting, noone had messed with that in any of the tutorials I had gone through.


i need produce from 1 particle point cloud with random position around it. How can i make it?