Blender 4.3 Geonodes - Align / Rotate to normal

Hi,

Geometry nodes in Blender are an amazing feature. However, one aspect that I still can’t get used to after all these years is the rotation functions. They’ve been significantly expanded in the latest version, but I still can’t find an option that allows for an intuitive way to set the correct rotation for objects.

For example, I have a curve where I use the For-Each Node to position multiple cylinders on the vertices. However, I can’t manage to align the cylinders so that they are perpendicular to the original line. This is quite important in architectural design. Does anyone know how I can achieve this?

Thanks in advance,

Louis

You are using 0,0,1 as the vector to align to, plug the curve normal there instead

1 Like

You would indeed expect that, but unfortunately, it does not yield the desired result (see image below). I have tried all variations.

You need to rotate the Position with the Rotation output. Don’t just feed it into the Offset.

Although i’m not sure why you’re even using the For Each Element zone here. Wouldn’t it be easier to use the Instance on Points node instead?

2 Likes

Unfortunately, I can’t get this to work (see image). The for-each loop simplifies editing objects individually. For example, adjusting the shape based on the distance from a specific point.

The previous example might not have been the best one, but for instance, you could adjust the rotation of a part of the objects based on their distance from a specific point.

This might not be impossible with instance on points, but the for-each loop makes it much easier.

Well, that doesn’t even look remotely close to what i did :slight_smile:
Anyway - The problem now is probably that you’re aligning the Y-Axis instead of the Z-Axis.

Hi Zebrahead,

You’re solution works, but is no solution to my asked question (please read my text).

The Add value of the For Each node is the ability to edit parts of the copied objects. Now if an object is edited, it’s changes in the wrong direction. A new Set Position Node behind the set position, makes changes in the wrong direction.

:face_with_raised_eyebrow: If that’s the case then i might misunderstood the question…

I think you might have wrong expectations about how the For Each Element zone operates. All transformations are done globally - not locally at that specific element. For example if you add a new Cylinder, its center will be at 0, 0, 0 - not at the position of the current element. So you need to be careful where you make the transformations (especially the rotation part).

I’m still not sure what you want to do but combining it with the stuff from your previous reply, maybe this setup here helps you understand it a bit better?


Note that the first Set Position node isn’t really necessary - you could also just add that Offset to the Position node in step 2 if you want.

Good luck

1 Like