3
$\begingroup$

I read a lot of posts about this but I couldn't find an answer for this case.

I'm trying to create a vine with spikes. Its growth is controlled by an empty and a trim curve node. I distributed points along the curve to instance the spikes, created the thickness of the vine with curve to mesh node.

But this is where it gets tricky for me. So far, I managed to align the spikes with the normals of the curve, rotate them by index and the golden angle then translate them to match the curve profil. It is close enough but I wanted to push it a little bit further. I tried to find a way to transfer normals data from the mesh and align the spikes with normals but I can't find the right setup.

Can someone explain what I'm missing ?

Here is an illustration of what I'm trying to achieve.

enter image description here

And here is the simplified node setup

enter image description here

Things important to take into consideration :

  • Spikes should stick to their location on the mesh when trimming and moving the curve.

Thanks in advance !

$\endgroup$
1
  • 1
    $\begingroup$ You could transfer the normals of the faces with Transfer Attributes (nearest interpolated) $\endgroup$
    – quellenform
    Commented Aug 22, 2022 at 20:41

1 Answer 1

5
$\begingroup$

Will this do for you? As @quellenform comments, you can pick up the normals, not from the curve-points, but from the mesh, by transfer.

enter image description here

  • The points are projected from the curve by its radius along Normal x Tangent
  • Instances on the projected points are rotated to align to the mesh-normal found underneath them

enter image description here

Blender 3.2b

Edit in response to commentary

In the simplest case, if you want to rotate just one strip of instances about the curve, you could use the curve's Tilt. For example, you could insert this cluster, as shown:

enter image description here

For more complex cases (e.g. multiple strips), there might be a better way.. I guess that really would merit another question.

$\endgroup$
7
  • 1
    $\begingroup$ Accurate, solidly described, as always! $\endgroup$
    – quellenform
    Commented Aug 22, 2022 at 21:12
  • 1
    $\begingroup$ @quellenform Thank you! I shouldn't be invading your territory, really.. I thought you must be otherwise engaged :) $\endgroup$
    – Robin Betts
    Commented Aug 22, 2022 at 21:15
  • 1
    $\begingroup$ Don't worry, it's definitely not "my" territory with all the crazy, awesome, wonderful, exciting and interesting questions and answers. Keep it up! ;-) $\endgroup$
    – quellenform
    Commented Aug 22, 2022 at 21:19
  • 1
    $\begingroup$ Thanks a lot for this detailed answer ! But I'm encountering another problem I thought easy for me to resolve. I want to rotate the spikes by using the spline as pivot point. My first thought was to capture the field position of the points of the curve before the set position and plug it to the pivot point of a rotate instance node like shown here imgur.com/6eb8wF2 I'm really sorry, I'm really struggling with vectors. @quellenform Thanks for your help again :) My growing plants animation is almost done, I'll be able to share the blend file this week if all goes well ! $\endgroup$
    – Ben
    Commented Aug 22, 2022 at 23:03
  • 3
    $\begingroup$ Hi Ben, pls do not ask further questions in comments. First - nobody else can find your questions in comments, so the answer would be "just for you" and not for all (because the title doesn't reflect the new question). Second - you may ask as many questions as you like. Third: You "kind of" emotionally force the one who answered to answer a second question...although this one is answered already. Thank you. $\endgroup$
    – Chris
    Commented Aug 23, 2022 at 5:10

You must log in to answer this question.

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