Making a "hair" particle system conform to the shape of a curved object.

Hi, I haven’t used particle systems much and until recently never in a system where I needed such strict control over the rotation of the particles.

The current situation I’m in is to make a sesame seed hamburger bun. The seeds are a separate object which I am using in a ‘hair’ particle system on the bun. The problem is that the rotation of the seeds appear to be inconsistent across the surface of the curved bun shape with the particles closer to the edge standing up on more on the tip of the seed and the particles closer to the center dipping into the object such that I can’t see them. By tip I mean the location of the object origin on the seed object.

What I would like is to have the side of the seed laying flat against the normal of the object where it rests consistently across the entire surface as you would see on an actual bun. Additionally, I would like to be able to enable randomized rotation to get more realism without affecting the axis that would alter the way it lays on the surface (so only rotating around it’s normal, basically). I’ve tried fiddling with the position of the vertices in edit mode in relation to the object origin… placing it in the center, rotating it in different directions around it… unfortunately, nothing gets it right… it always seems like I can get some distance from the center perfectly flat, but everything further is sticking up from the tip and everything closer has the tip dipping into the object.

Does anyone with more experience have some tips?

I can post screenshots if needed.


I modeled a cheeseburger on Blendswap (which is now the #2 food on BS) It’s funny, I look at it now, and it looks like crap, maybe I’ll revamp it. But it has a sesame seed hair system that is virtually the same as yours. It’s CC zero so you can do absolutely anything with it and no credit needs to be given. Download and look at/append the system, if you want, and be sure to give it a ‘like’

Here is what renders from the blend:

Thanks, I’ll take a look tomorrow at what you did in yours. As for your item “looking like crap,” I would say the model and textures look pretty solid, you just need to tweak the materials. It looks a tad plastic, but it shouldn’t need much modification to look photo-realistic, in my opinion. The only real issue with the model is the fact that the top cheese is over the tomato… I’m sure you did that intentionally because you liked the dynamics of the way it folds over the tomato, but when you think about it, the cheese would have had to been put on-top of the burger when it was cooking and the tomato would be added afterwards. Stick a slice of cheese between a cold tomato and cold lettuce and it won’t melt very good.

Thanks again.

Oh yeah the materials need work. If I spent a full day knowing what I know now about nodes, bump, normal maps etc… it would be a lot better. Maybe I will, I’m pretty lazy though. Here’s a mockup of the bun, with better rotation than my blendswap one. I left the seeds emitted everywhere to show how they behave on the tight curves toward the bottom. The important thing is to put the origin of the seed just a little “above” it’s bottom. The seed is on layer 2 in this blend. Then you just go into the rotation section, change it to normal and adjust random on the phase to spin it using the normal as an axis.

I just had a thought on your specific issue. Make sure your particle system comes after (below) your subsurf on the stack. That could cause that.

sesame.blend (573 KB)

This may (or may not) be your issue, but I’ll post the the image anyways for someone else who may have a similar problem. When using a hair system like this, 95% of the time you want the particle system to come after the subsurf on the stack. The subsurf changes both the surface location, and the direction of the corresponding normals, which the hair system relies on. This image shows it clearly:

Actually, I figured it out… it’s the same problem I have in about 75% of my problems when I try new modifiers and commands… I forgot to apply the rotation and the scale of the objects. As soon as I did that everything snapped perfectly.

Thanks for getting my brain working around the software.