Hello there, fellow riggers/TAs.
I have been researching and looking for good ways to approach this situation for a while now, but can’t seem to figure it out, so i would love to request the use of the rigging/tech hive mind!
I have a snake-like creature, that will have about 50 bones along it, and needs to twist and twirl in all kinds of shakes and poses.
The ideal requirements are:
- 11 main controls along the body (everything except head and tail has rotation locked)
- drive the overall twist of the body with n(probably 2 for now) controls along the body, along with the tail and head controls
- twisting the head control even past 180 degrees should correctly distribute the rotation along the body (or between the head control and the next twist control) without flipping anywhere
- rig should be stable (this also includes not using constraints in the ‘No Flip’ mode)
… i think that should about cover the main goals…
I have considered a plethora of various approaches.
First off, examples online… Everything i found was something that has seemingly no range as far as ‘spline’ goes…
Snake/Worm/Rope rig? all such rigs/vids of rigs i found, are seemingly assumed to never make more than 20 degree turns and never twirl/loop/make a ‘poo’ pose, haha.
Tentacle? You’d think so, but no… haven’t found any good examples of a tentacle that would go loopty loop and twist and still be ok… if so, then the twist was divorced from the ‘tip’ control, making it extremely difficult to transpose to something like that snake, where you want ‘ik-like’ behavior on both the head and the tail.
While ribbon might be something that’s recommended, it is the last resort for me. I do not want the animator to worry about rotating every individual control immaculately. On top of that, ribbon can also result in flipping/weirdness, when you try to make various curved shapes, so avoiding for that reason too.
So i went to explore the possibilities that spline-ik would offer, thinking to go with some layered setup on top of it, but it became clear within seconds, that that’s not gonna fly (at least not with the default advanced twist - object rotation up start/end). Due to the nature of how rotation object up start/end works, the vectors flip the joints the second you hit a simple s-shape (as well as because in that particular mode, even in a straight line, the 180-twist-flip would occur).
There’s way more that i have tried, with various approaches to locators sampled along curve aiming at one another, to spline ik in relative mode, but then how to drive the twist with the head/tail controls accurately… I’ve played around with dissecting euler rotations to use them to my benefit (i genuinely think there’s something there, if only i was more versed at math and saw the pattern…) to no avail… etc etc…
I wonder if there is something obvious that I’m missing, or something that someone has found to be helpful/found out themselves, and would be kind enough to share?
To me, this is a curious problem to be solving, but i’m running out of time, as well as knowledge, haha…
Thanks for any input!