Geometry Node: Attribute Randomize - Rotation

I’m currently making a bagel with seeds on top of a bun. I also want to use the Geometry nodes for this. I’ve modeled the bun, seeds, and I’ve set up my basic Geometry nodes:

Group Input > Point Distribute > Attribute Randomize (scale) > Attribute Randomize (rotation) > Point Instance > Join Geometry > Group Output

My problem is I want to randomly rotate the seeds/points around their local Z-axis (relative to the face they are on). But whenever I have the Attribute Randomize (rotation) plugged in, all of the points/seeds automatically align globally.

If anyone is able to help me, that’d be great. I don’t want to use the particle system because I feel like there is more control when using the Geometry nodes and it’s just simpler. Thanks guys.

I needed the same and eventually managed like this. It works, but feels just dirty.

Nope, does not actually work properly, sorry about that

Would be interested in a more proper way, if anybody has it…

The random float doesn’t do it on an individual point level.

Ah, and I did not even notice. Well that’s disappointing, sorry.

Think I finally got it now in case you still need it.
Turns out you can use the attribute randomize to create custom named random attribute (not just influence the existing names) and intput that one into point rotate. Who knew, but pretty simple in the end.

1 Like

I found the problem on your original nodetree. Everything is fine, except for one thing. Your attribute randomize is set to a minimum of {0,0,0} and a maximum of {0,0,0}. You want to set your maximum to something higher.

EDIT: @Adam3141 is right. You need to use the point rotate to rotate the points on their “local” coordinates.

1 Like

You’ve got it. This is exactly what I needed. The points rotate on their local Z-axis just like I needed them to do. Thanks a lot.

How’d you even discover this and how’d you realize it’d work?

Very nice, thanks!