Baking particles with material?


I am using the pFlow Bake script to bake a particle animation and whilst I get great results, the texture I have mapped onto the particles is not translated across to the baked objects.

Is there a way to re-texture the new baked objects so they have the same material and mapping as the particles, or any other way to bake the particle system with the mapped texture?


the mapping should be the same and a simple material re assignment should work.

Can you be more specific about what texture you are using, also if you’re inheriting the texture from a shape instance, or using a material operator?


The material assigned to the particles (via a Material Dynamic operator) is an image sequence (120 TIFF files)

The PFlow uses a “Mapping Object” operator and the “Material Dynamic” operator to apply the image sequence to the particles, based on the material being mapped to an OBJ mesh sequence.

After baking the particles, I get 1500 separate meshes, and I have tried selecting them all and applying the material, but it simply applies the whole texture to each mesh individually, not as a group.

I think because there is no real UV mapping to start with, simply re-assigning the material to the cloud of meshes doesn’t work, hence they all show the full texture separately.


You are right! Mapping object takes the mapping point of your object and assigns it to your particle. It’s just a point in space. You’re particle mesh isn’t getting any uv’s. So when you bake there are no uv’s to bake.

Seems like you are birthing objects on a plane. Here’s a work around:

Birth your objects on the plane and bake one frame. Take your baked objects and attach them. Use the projection modifier and project you’re planes uv’s onto your baked object.

Back in pflow use a birth group operator with separate elements checked. Make sure they inherit mapping :slight_smile: NOw you’ve got all your particles in the right place with the correct mapping on them



Just tried to attempt your solution, but when I try to bake frame 0, no particles are baked, despite the Birth operator having the Emit Start and Stop set to frame 0 and I can see particles coming from the PFlow at frame 0.

What gives?

EDIT - I baked frame 1-2 instead, and I’m unsure what I should be doing with the Projection Modifier. What should it be applied to? Does my mesh (not a plane) that the particle are being positions on need a UV map? (it doesn’t, the OBJ it was made from had the material applied right on to it) and also, I don’t have Birth Group, I’m using 3DSM 2013…


hehe not sure how that baker script works. Instead of baking you can always use the compound mesher and collapse it to an editable poly. OR like you did bake an extra frame.

As far as not having birth group :frowning: shucks that sucks. I believe birth group comes in the creativity extension in 2013 if you are able to download that.

As far as the projection modifier. It’'s pretty easy actually.

You want to project your planes uvs onto your mesh which was made from particles.

Put the projection modifier on the plane. Select your reference geo which is your mesh. scroll down to the projection tab. Click on projection mapping add. Then press the project button below that.

Now check you’re mesh should it should have received a modifier called projection holder. put a unwrapuvw over that and take a look. You mesh should have inherited the uvs from your plane.


I think I’ve found a small issue with this setup.

Despite the particles using a Position Object operator, with lock on emitter and animated shape checked, whilst the particles do lock on to the mesh, they move dramatically over the surface of the mesh.

So, a particle that starts off, say, in the bottom right corner of the target mesh, will jump to a different position in the very next frame.

Is there a way to truly lock the particle down?

They have no speed, so thats not the issue.


Instead of using lock on emitter and animated animated shape try using lock bond with lock to surface, animated surface checked.

If you have mesh that’s changing topology/vertex count this won’t work.