1
$\begingroup$

I am trying to create a lamp with a flexible metal arm. The metal arm is modeled with a curve that is modified by geometry nodes. I want to attach the lamp "head" to the end of the curve and obviously it should point in the direction that the curve points towards.

The blender documentation on Sample Curve - Tangent has this useful bit:

This output can be combined with the Align Euler to Vector Node to create a rotation that lines up with direction of the curve. Including the Normal output in a second align node after can align the other rotation axis.

But I just cannot make it work - for some combinations I can make it point almost in the right direction, but it will always be at least a little bit off.

Download blender file

I cannot get the head/lampshade to point in the same direction as the curve.

$\endgroup$

2 Answers 2

3
$\begingroup$

Hopefully you want it like this?

enter image description here

$\endgroup$
1
  • $\begingroup$ This looks perfect - I don't have access to my computer right now, but I will check it out later and Mark your answer as the solution. $\endgroup$
    – cornergraf
    Apr 1, 2023 at 9:24
1
$\begingroup$

I would use the following setup:

enter image description here

Here, I first reverse the curve so that the first index of the curve starts at the end of the curve.

Then I use Curve to Points to convert the curve into a single point. Since the starting point is now at the end, this leaves only the desired end point.

This node has the advantage that the correct rotation is output directly and you save the manually created point.

Depending on the orientation of your object, this rotation can be corrected manually in the correct direction with an additional Rotate Euler node.

This way you save a few nodes and get a correct alignment on all directions (tangents & normals).

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .