Ribbon rig: how do you keeping follicles on an even distance?

Hi, So something I just kind of realized as I have never really dealt with a ribbon setup before is that the positions of the follicles isn’t conforming to an even distribution when deforming the ribbon. It makes sense and in the past my go to approach have always been to use a motion path on a curve which conforms in this fashion. 0.5 is always in the center of it’s full length.

I have been thinking of a way to have the follicles behave in the same manner, but not sure of a solution to it yet. I guess an approach would be to offset a curve down its middle(with construction history, on) and have locators placed on it as a motion path. The follicles would then have to use the closest point on surface(if possible) to shift its U value to be at the same position as their corresponding locator. It doesn’t seem like a very elegant solution though.

I was hoping someone has dealt with this before and have a solution to it.

You could optimise it by offsetting 2 curves from the original surface, one for positions and one giving the upvectors, and then using the same motionpath values in pointOnCurve nodes for the upcurve to get your upvectors without nearest points.

Control over parametrization of a curve with the ability to twist is a very difficult problem, so we wrote a plugin to handle that (currently for Maya, but the backend is dcc agnostic). It’s open source and being used in production (finally!! :partying_face:)

So that means I get to engage in the traditional pastime of a tech artist and say:
Hey! Check out this cool thing I wrote!
Also, if you need it compiled, or have any feature requests, just ask :slight_smile: I really want people to use this because every. single. TD I know has had to re-invent this wheel at some point, and there’s no reason for it.

5 Likes

Thank you so much. My internet went down last night. Was going to post this setup I did after @EdArt:s suggestion.

Seems stable, but the setup is pretty messy. That TwistSpline sounds like what I need @tfox_TD ! Thanks so much. Will have a look.