I've done a little searching and also put together a mockup of what I think would be a great addition to blenders character animation tools. Splink IK.
Following that link you will find a basic description as well as screen shot mockups as to what it might look like. The mockups don't really change much in the interface to blender. The only real change may be the addition of a curve or spline type object that would be specifically used for this function. I've also added several PDFs to the site as references for some spline information that I have found on the internet. I will continue to try and add more as I find it. I am unfortunately no coder but am trying to follow Ton and others suggestions to document and provide examples for the features I would like added. Please post or email me if there are any questions concerning this idea.
I think the functionality description
could use some tweaking though
(looks a little over complicated)...
was that borrowed from another
application or something of your
Yeah... it could be fine tuned quite a bit more. It was a combination of ideas from web pages I saw describing the spline IK functionality in other applications. I tried to take the ideas and blenderfy them... using some of the features already built into blender such as constraints.
I am gonna try and do a mockup of how spline-IK may be just a bone that you change a bone type or something and it becomes a curve that you can change the number of nodes on and modify that way. If it were just another bone it would have all the same characteristics of a bone... parents and children and also have access to the constraints. I don't know how you would determine what parts of the curve/spline would affect which vertex groups though... but maybe thats something for someone much smarter than I to figure out. I will definitely try and put together another mockup as well as another description walk through of that.
I had a little break at work so here is a second concept of how the spline ik could work. It is probably a lot simpler than the one previously described.
Basically there would be bone types.. and as far as I could see right now.. only 2 or maybe its just a checkbox to define that bone as a spline bone or even just a toggle button.. same functionality though... but a bone/armature would either be a normal/default bone or a spline.
The spline bone would have the typical b-spline/beziere curve controls and could be parented/linked/constrained the same way a normal bone would. You could even have a normal bone on either side of the spline bone.
Don't know... does this sound better than the first idea? It definitely makes it easier as far as the user is concerned... not having to deal with parenting or targeting bones and such. let me know what you think.
I updated the 2nd set of mockups with a toggle button called spline. Same as the green IK toggle button for the bones... you just select a bone and then would click the spline toggle button to make that bone a spline bone.
If the bone is a curve/spline bone extruding from that bone would result in another curve/spline bone whereas extruding from a normal bone would result in a normal bone being extruded.
Looks like some of the pdf's that were
on your site are not found now.
The article from rubberbug.com is
quite informative. I guess the one detail
that I'm not quite sure about is a decent
way to skin a spline ... I guess if it the spline
is implicitely treated as a chain of sub-bones
then one would create weight groups for each
of these sub-bones and go that way (made
easier through auto-skinning, hopefully).
That is the one piece I knew would still be a question.. As you said.. The spline could be treated as a chain of sub bones controlled by the resolution of the curve. I will see if I can't figure out why the PDF links are not all working on my site. And I will continue looking for more resources that may relate to this!
I'm just glad that stuff makes sense to someone out there! I understand the concepts.. just not the actual math taking place. Slowly but surely I'm picking some of it up though.
After a little more searching today I've found these two links..
Guru's Lair Cubic Spline & Bezier Curves Library (a lot of information!)
More Links from Povray.org
Hopefully I'll be able to find a few more.
This is a very nice suggestion. I think it could be merged (if it wasn't yet)with the idea of using splines to do RVK animation. Instead of applying the spline to a chain of bones, applying it to a part of a mesh.
Spline IK's! I was just thinking about them so I did a search and found this old thread.
It would really make rigging a character's spine much
Doing it FK is slow, and I always have problems when I try to rig a spine with IK.
Are IK spline/curve constraints in the future?
This seems specially relevant now that we have Hooks - it means the splines could integrate perfectly in rigs because we are now able to animate the splines and let parts of it be parented to bones and other objects.
All we need now is the Spline IK constraint and we should be good to go!
yeah, I think we're almost there.
Incidentally, I tried path constraints with offsets to do this, but it doesn't quite work (almost- but not quite)