Weird phenomenon with positioning a constraint with parented bone handle

I’m new to blender, and currently trying to set up a basic Spline IK for a tail-like object. I’ve been following a standard tutorial on the process, but something strange always happens when I parent the Bezier curve to a bone in order to better control its position


However, trying to interact with the controller or any of the bone chains again by pressing R or attempting to rotate causes the chain to snap back into the expected position, leading me to believe that this is just a visual glitch. However, I’m not sure if it’s actually going to cause me problems during animation/posing or not.

Putting the controller bone in another bone group seems to solve the issue, but when I try to constrain THAT bone back to the main skeleton (so it can move with the hips), this starts happening again.

This has been bugging me like crazy and I can’t seem to find any discussions about it on google. I’ve also noticed it happening with other bone chains and copy rotation/transforms constraints too.

This is a cyclic dependancy issue in all probability - this is where one object is parented to another that in turn is parented/dependant upon the movement of the first. Without seeing your blend file I cannot be sure, so please post it here: pasteall.org/blend and post the link here for us to look at. I have found in the past that a very reliable way to animate a curve based object is to add hooks to the curve and fix the vertices to the bone chain. To be honest I need to see what your model looks like and your armature to answer in depth. A good way to check cyclic issues is to move the armature then press Escape - if it does not return to rest position, you have an issue that needs resolving. Spline IK systems are very good, but cyclic dependancy is a very easy trap to fall into.

You putting the controller in a separate armature, I think this is what you are doing, removes the cyclic dependancy, but when you constrain that bone back to the main armature you re-introduce the cyclic issue. One object constrained to another that is parent or constrained to the first is a cyclic dependancy loop and a source of irritation to put it mildly. You will find the same issue if you build two IK chains in an armature that have a chain length of 0, i.e. back to the major root bone - the same issues apply here in that if you press Escape the rig does not return to rest position - this is a trap that maybe you are yet to walk into…

You might also post a link to the tutorial you are working to, that would help us understand how you are trying to achieve your setup.

Cheers, Clock.

PS. Welcome to BA!

Thank you for your reply. I currently actually don’t have this attached to a model as I’m trying to get familiar with the process using an isolated environment first. For thoroughness’s sake I’ll recreate the issue in a blend file and post it.

http://pasteall.org/blend/index.php?id=43979

I’ve noticed that several online tutorials on the spline IK all suggest this method for rigging a tail or tentacle-like object, including placing a bone at the base to control the location of the spline, so it strikes me as odd that it’d be a problem if it’s so often suggested.

As for my model, I should probably save that for a different post, since I don’t want this topic turning into a general ‘help me with my model’ thread. But it’s essentially just a bipedal lizard creature with a long, thin tail. Very standard stuff. So are you saying that I should ignore the spline IK altogether and just use hooks to control my rig?

No - I am just saying that there are simpler methods before spline-IK came out - but you must watch these cyclic issues as they can be more easily run into with spline-IK.

I will look at your file later, much other work to do during the day!

Can you post a link to the tutorial you are using - it will help us greatly!

Cheers, Clock.

I took a look at your file. It is a case of cyclic dependency. The curve is parented to the armature, and the armature is driven by the curve. It’s a round about cycle. Take a look at what I did to it. I separated the spline-ik chain into a separate armature and parented then both to the control bone. That way the curve controls the spline-ik, and the control armature just drags them both around.

http://pasteall.org/blend/index.php?id=43983

Oh wow, ok. I didn’t think of trying to split the spline chain into its own armature. My earlier attempt at using separate armatures involved the ‘tail’ being part of the main body, with only the root being its own unique armature (of course, that didn’t work well at all) Thanks a lot for the correction. Here’s the tutorial I was using btw. Of course I was ignoring the soft body stuff, since that’s not really what I’m trying to do just right now. It’s 5 years old and probably outdated anyway.