Does anyone have any experience with flipping follicles in Maya?
I have a pretty basic ribbon IK setup, with follicles placed along a nurbsSurface which is skinned to the controllers. I’m experiencing some of my follicles flipping at certain frames of an animation in Maya 2018 and 2019. The flipping happens on the same follicle which is at the opposite side of the ribbon too.
The normals of the surface are fine, and stable. The nurbs surface was created through a loft, but the history is deleted. The V spans go from 0 to 4, for what it’s worth.
Follicles made by hair system experience the same flipping, so I’m not mucking up my connections.
I also tried lofting the ribbon down it’s length so U and V are flipped.
It doesn’t seem to be related to DG vs. parallel eval. It happens uniformly across multiple artist computers.
I found a Google Groups result with the same bug from 2011, so I am amazed I’ve never ran across this problem before. But it must be affecting all the ribbon-based stuff I’m using.
At this point, I’m thinking of comparing the outTangent of the follicle to a sane controller space, and then flipping it back when it is flipped.
Interesting. Thanks for the script! This returns vectors that match a non-flipped state! I set some locators at the returned points during my flipping frames. The follicle flips, but the data does not…
My next theory was that, in our production, they decided to use units*0.1 as a world scale. Our models and rigs are quite small. So I was thinking I was hitting tiny value precision errors. But a larger test was flipping too.
So maybe there is a bug in the actual follicle node?
It looks like your ribbon is quads. Triangulate the mesh for reliable follicle behavior. FYI - it doesn’t work to triangulate a rigged mesh - that just triangulates it as a post deformation step. You’d need to freeze history, triangulate, transfer skin cluster. That works much better in my experience. What’s happening with a deforming quad mesh is that maya triangulates it differently as it deforms around. This flips the follicle.
hi Chris, Vasil Shotarov method is the way to go if you want clean en stable rivets.
I had this problem too and solved it my uising matrix rivets.
It’s not relative to the scale, the “rivet” script has a bug on tiny scale, the point en surface and 4*4 could be a good solution too, but less stable.
You can try ‘surface attach" node, it’ s a little graph in muscle sys. It does the job sometimes.
Hi skky, Surface Attach nodes are FAR too slow. Losses of 5 to 20 FPS. I do not recommend using them to anyone if they can be avoided. (Tested in Maya 2016 and 2017, maybe they are more parallel-friendly now, but I just avoid them completely.)
Chipping in to say surface rivets can also be applied to meshes as well, circumventing the dreaded geometry constraint: Find the closest face on mesh, make a nurbs plane, and drive its control points with the face’s vertices. It won’t be absolutely rock stable, but unless the driver face flips, your constraint will be stable and very fast.
I just did a brief test, and this seems to flip around like crazy. (Anyway, I won’t spend any more time on that. I’m not trying to pin things, personally. I’m animating parametrically along surfaces.)