The first thing I wanted to tackle was to understand the curveu attribute. The curveu attribute remaps the curve for it to fit from 0 to 1 and then it can act as a mask. Which means I can curl the top part of the curve without it affect the bottom.
Here is some kineFx rig code I got from the Flower Garden video where he explained the basics of kinefx. This rig gives you a very basic curl animation based on the mask. The attribute wrangle sets up the attribute values based on the point numbers and the rig wrangle is what actually makes the line curl.
From there, I created a leaf using a line and sweep mesh ribbon. I shaped the sweep with ramp scaling and some noise. I created a base vine stem to which I used copy to points to attach the the individual leaf rigs. I made sure to randomized normal and pscale attributes to break up uniformity.
I then used a for each loop to path deform the leaf geo with the rig. I later found a VEX code snippet that path deforms better than the default node.
The second aspect I wanted to figure out was intersection. I used Paul Esteve’s Flower Project video to find how to connect geometry to a curve and then run a vellum simulation that will keep leaves in a similar position.
I animated an exploded view node so that the geometry starts without any intersection and then slowly comes to its final position. I used a Pin To Target vellum constraint with a Soft pin type. This method did not end up working- although the leaves were colliding, they wrinkled along the way as well.
The second method I tried to de-intersect the leaves was using an Attach to Geometry constraint where I pinned the leaves to the stem. Instead of animating the leaves, I stretched the stem on the y-axis til the leaves no longer intersect and then animated it scaling down to its regular size. This method worked beautifully and the leaves very gracefully rested on top of each other with no intersection.
WHAT'S NEXT
1. Find possibility of preserving curveu attribute for each individual leaf curling from before vellum simulation.
2. Create same curling effect with the base stem and combine with leaf scaling.
3. Time offsetting to make bottom leaves grow before top ones.
4. Since the leaves have attributes transferred from the stem, would the animated values transfer as well?
5. Try using Carve node to draw out the vine
6. Try animating a volume mask which has attributes that will transfer onto vine.