5
$\begingroup$

I am trying to figure out the most optimal way to rig things like hair strands, cables, tentacles, etc. I am looking to make a strand that is moved with a controller at the tip, but then has multiple control points along it's length. Essentially, I'm looking for the same sort of effect you can get from editing a multi-point curve with proportional editing, but on bones.

Another way to state it would be a bendy bone rig that uses a single deform bone (with head and tail) as described in this tutorial, but that then has more control points along it's length.

Spline-IK with multiple hooks controlling a bone chain is close, but does not have local Y roll, and I can't get it to properly copy rotation.

Here is my current rig:

enter image description here

This rig consists of: - A root bone that does nothing - A bezier curve with only 2 control points(pictured but occluded) - 4 bone chain spline-IKed to the curve (not pictured but in same place as bendy bones) - 4 tweak controller bones that are children of the 4 spline-IKed bones (the spheres) - 4 deform bones that are constrained to stretch to the 4 tweak bones (the visible bendy bones) - A hook bone that controls the tail curve control point and has Limit Distance on the rig bone - A master controller bone (the 5th sphere) that is the parent of the hook bone.

All of this works great. I can use the hook bone or master controller bone to move the curve's control point, and the whole strand follows. I can then manually go in and use the Tweak bone to add waviness, as shown in the picture. The problem is that I've got no local Y rotation.

My plan was to get the needed Roll by having the Deform/bendy bones copy rotation of the local Y of the Hook bone (probably at diminishing amounts). The problem is that they misbehave badly.

When the strand is straight, they behave fine. When i move the hook/controller and the strand starts to bend, they cease to properly copy rotation. Sometimes they'll copy a bit, sometimes none, and sometimes they'll twist 180 degrees and kill the mesh. If I'm rotating the control bone instead of the hook, they don't get the hook's rotation, unless I set them to Local with Parent, but then they still do various odd twisting (just different forms of it.)

I've tried changing the order of the copy rotation and stretch to constraints, but both have problems (but slightly different ones, so I'm wondering if the Stretch To is killing the Roll.)

I'm looking for a way to solve these copy rotation problems, or any alternative ways to build a rig that will do something similar.

UPDATE: Here's the file. IK bones are on layer 2.

Try putting it in some bend poses and then rotate the hook bone or controller on local Y and you'll start seeing problems.

UPDATE 2: This answer has solved the copy rotation problems. What now remains is issues with the stretch bones. When rotating at extreme angles, the stretch bones start flipping 180deg on local y, causing horrible twisting.

$\endgroup$
  • $\begingroup$ 1) Although you've already fixed your copy rotation issues, be aware that constraints don't quite use their constrained local axes for further constraints. You can get around this by creating another layer of bones. Yes, that's a pain with bendy bones, but it's doable. 2) Stretch-to doesn't use the same tracking mechanism that damped track uses. It's usually wise to use a damped track in addition to (before) the stretch to constraint. $\endgroup$ – Nathan Dec 23 '18 at 5:22
1
$\begingroup$

DanPro's Advanced Tentacle Rig Tutorial

You should take a look at DanPro's Advanced Tentacle Rigging Series.

It not only has what you want, he builds it up in real time, moreover while explaining what he does.

https://www.youtube.com/playlist?list=PLizSCQYO0I6OtQ479WlMGZE1ssFk2CIUP

Fair word of warning, the videos run 2h all together and building the actual rig took me another 2.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.