Blender 3.1.2

I am making a twisty tree trunk. There is a curve for the basic shape of the trunk and a curve used for the curve profile in the Curve to Mesh node. This profile curve is a cluster of circles. I want this cluster of circles to separate outwards at different parts of the main curve, so that it looks more viney. I want to use the Spline Parameter > Factor attribute and a ColorRamp to customize how tightly twisted the trunk is at certain parts of the curve. I want some parts tight and some parts not tight. This is what isn't working.

Here is the node tree I have so far: Node Tree

Here is the effect I am looking for shown uniformly along the curve. It uses a simple value node rather than the Spline Parameter:


And here is the node group of one of the circles from the cluster (collapsed in the screenshot above). You can see that I'm just pushing the circles out from the center using a vector multiply to adjust how much. node group

Is there a way to get the Spline Parameter node to work for this? Or a better workflow altogether? Thanks.

  • $\begingroup$ pls add blend file so we don't have to rebuild everything...thx...but "normally" you can just plug in the spline factor instead of your value node - (and maybe some add or/and multiply node after) - this should do the trick $\endgroup$
    – Chris
    Aug 17, 2022 at 8:30
  • $\begingroup$ Do you want the spiralling vines to have independent splays? (Not all separating by the same distance at each point ton the main curve) $\endgroup$
    – Robin Betts
    Aug 17, 2022 at 10:10

1 Answer 1


Since the individual strands here have different profiles, you can unfortunately not simply control this via the radius of the curve, because otherwise the individual profiles would be distorted.

Therefore I suggest the following solution:

enter image description here

enter image description here
(Blender 3.1)

enter image description here
(Blender 3.2)

Here I simply duplicate the curve first, so that I have a separate one for each strand.

This allows for more flexibility and it also allows the individual strands to be processed independently of each other.

I achieve the offset to the center in this example by rotating the vector of the normal along the tangent as axis, and scaling this with a Float Curve.

The radius of all strands is still controllable via the radius of the curve and the Curve Tilt also additionally influences the alignment of the strands.

In the end, I simply use a group to create the mesh:

enter image description here

This basically just includes Mesh to Curve, but it is selectable which spline to convert with which radius.


You can of course make the setup a bit more dynamic and use random values for the thickness of the individual trunks.

Just replace the node groups that previously created the mesh using Curve to Mesh with the following setup:

enter image description here

Here I set the radius of the individual points per spline to a random value.

(Blender 3.6+)

  • $\begingroup$ This looks fantastic. I'll try it out tomorrow. $\endgroup$
    – Silas
    Aug 19, 2022 at 4:42

You must log in to answer this question.

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