sidebar features
sidebar content

Go Back   Blender Artists Forums > General Forums > News & Discussion

Reply
 
Thread Tools
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
Hello,

here is my research concerning spine IK in Blender. You know that spline IK is still not implemented in Blender but after long testing here is a possible draft of solution.

My attitude was this:
- use mesh "curve" (in fact subdivided edge - line of vertices)
- use chain of bones, each one copies place of one vertex and stretches towards the following one
- use lattice in b-spline mode on mesh curve, so the mesh curve has nice beziere bending
- use hooks on lattice driven by bones controllers to manipulate the lattice

As I prefer cartoon attitude and squash and stretch rigging this works quite well for me. But I guess for "real spines" rigs and animation nice spine bending with ss attitude is preferable as well.

This is just the first test, prove of concept. I hope to make it better or hope that some advance rigger here in the forum will develop it. Sometimes you will need to go frame back or forward to update the rig/mesh. I used just very basic and fast skinning (weight painting) so sorry for this and possible mistakes. Should work quite well mainly for tentacles, worms, elephant trunks, tails etc.

It should be easy to combine with FK as this IK chain may work as "an offset bone-chain" being a child of main FK spline chain.

I hope to release version 2 implementing also rotation features of hips and shoulders.

EDIT:
Version 4
- dependencies corrected (I had not time to finalise this so some features mentioned hereunder have to be added to, sorry will make it later)
http://rapidshare.com/files/13537019...FK_Test4.blend

Version 3
- corrected flipping
- changed the way of twisting that is better to be driven just by FK chain
- also weight painting was improved

http://rapidshare.com/files/13379080...FK_Test3.blend



Version 2
New version FK_IK_spine_2
New features:
- twisting
- IK controls follows each other little bit
- FK chain (IK is on top of it)

So now it is concept of IK FK spine :-)

Download blend here:

http://rapidshare.com/files/13266416...FK_Test2.blend

Test video:
http://blip.tv/file/1129697/

There are some pictures:






Version 1
And here is blend file:
http://rapidshare.com/files/13263546...IK_Test1.blend

Feel free to test it and mainly enhance it.

Last edited by JiriH; 06-Aug-08 at 20:44.
#1   Old 26-Jul-08, 17:25   
Reply With Quote


gianmichele's Avatar
gianmichele gianmichele is offline
Member
 
Join Date: Aug 2007
Posts: 145
Hey there, I've tried your spine rig. I really like the squash&stretch effect but I think you're missing a few fundamental things:

- twisting: at this moment is not possible to twist the spine
- when you compress the first or the last controller, the two controller in the middle should compress a little too, same thing for the stretch.

If you want reference look at the work from this guys:

http://www.luvictu.com/

http://making-of-french-roast.blogsp...3d-part-3.html

Nice work, can't wait to see your next version

-Gian
#2   Old 26-Jul-08, 18:00   
Reply With Quote
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
Yes, as I have said hereabove, this is rather prove of concept or feasibility study for next development. Rotation (twisting) and follow features are next step. I hope this will not be too difficult, at this moment I plan to use multiple copyrot and copyloc constraints with minor influence.

Thank you for the ling, Vinyals rigging reels is really famous. I have same attitude, learn from the best ones if you be good one.

Last edited by JiriH; 26-Jul-08 at 18:39.
#3   Old 26-Jul-08, 18:36   
Reply With Quote
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
OK, I have played with it little bit more.

New features:
- twisting
- IK controls follows each other little bit
- FK chain (IK is on top of it)

So now it is concept of IK FK spine :-)

Download blend here:

http://rapidshare.com/files/132664160/Spine_IK_FK_Test2.blend
#4   Old 26-Jul-08, 19:22   
Reply With Quote
Felix_Kütt's Avatar
Felix_Kütt Felix_Kütt is offline
Member
 
Join Date: Apr 2005
Location: Tallinn, Estonia, EU
Posts: 3,619
is this 2.46 compatible, or does it use some 'wip' features?
............................................
FunLinks: . . . . . . WikiUser: Fktt
superRandom = An Engineer's Guide To Cat's
#5   Old 27-Jul-08, 08:06   
Reply With Quote
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
I have just realised there is still no root bone. But this is not big issue, will add it in version 3.
#6   Old 27-Jul-08, 08:06   
Reply With Quote
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
Quote:
Originally Posted by Felix_Kütt View Post
is this 2.46 compatible, or does it use some 'wip' features?
Just 2.46, no python constraint, no patches. Just "handmade" :-)
#7   Old 27-Jul-08, 08:07   
Reply With Quote
gianmichele's Avatar
gianmichele gianmichele is offline
Member
 
Join Date: Aug 2007
Posts: 145
Woooo, just tested and this is working really much much better. Haven't had time to dissect it yet, but can you share some insight on it?

BTW there's a little refresh bug that happens from time to time. If I pose a controller (IK) and then undo with mouse or CTRL-Z the controller snaps back, but the geometry is not updated. If I move the viewport everything is back to normal.
#8   Old 27-Jul-08, 08:09   
Reply With Quote
renderdemon renderdemon is offline
Member
 
Join Date: Sep 2004
Location: Milan
Posts: 732
That kind of problems cannot be fixed easily,it's a blender limitations,the way dependency graph works make impossibile(well,not really) to avoid redraw problems for this kind of setup.
The only solution is to stay or completely inside(here not possible) an armature,or completely outside(this is the way to go).
Basically you have to redo all the stuff,staying completely outside armature with control object(intermediary and final),,and at the end you go inside armature with constraints,in this way you lose pose mode(bad limitation),but the ikspline setup should not give lagging(I will not explain that in detail as I think this guy is clever enough to do it himself,solving problem is a funny thing).
I also was working 2 month ago in a similar setup(honestly a bit better than this,I have tested this and it's not perfect ,in some pose bones aren't good aligned,but it's a good start),my setup worked wellt except redraw problem,I have decided to stop my work there because for me the solution to not use pose mode was not acceptable,it's like going 5 years earlier in time,but maybe for someone else isn't a problem(we need really blender coder to fix this,they know the issue,I have posted everywhere the problem).
I hope it helps.
EDIT:
I appreciate this ikspline try JiriH,more people try mad/complex setups more faster this kind of limitations can be fixed.

Last edited by renderdemon; 27-Jul-08 at 09:02.
#9   Old 27-Jul-08, 08:24   
Reply With Quote
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
Not updating geometry probably relates to some Blender issues not the rig. I used new MeshDeform cage feature so maybe this causes the delay.

"Insight information" are hinted in the first post. There are in fact no mysteries. First you should use FK chain for general pose, than you use IK spine to to tweak it in IK mode. But it is also possible to delete FK chain and use only IK. That is just personal preference for animators who are rather used for FK torso posing (which n fact are all actual Blender rigs available :-) so it is hard to guess who prefesr IK torso posing).

Edit: I just see renderdemon also answer updating question in higher detail. So thank you renderdemon very much.
#10   Old 27-Jul-08, 08:25   
Reply With Quote
pildanovak's Avatar
pildanovak pildanovak is offline
Member
 
Join Date: May 2004
Posts: 958
Hi, I tried to do a non-lagging spline-IK for ages in blender, and in the final i ended just with three b-bones and some simple controllers.... Which of course isn't the best solution possible, so will definitely check this file, thanks.
............................................
http://www.blenderstorm.org/qapoll/i...a/211/image/2/
#11   Old 27-Jul-08, 08:58   
Reply With Quote
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
Just note that combination with FK chain is still not perfect. Extreme positions are not possible. I hope we will develop it more here in this thread.
PS: Reputable Blender riggers welcomed here for their opinion :-)
#12   Old 27-Jul-08, 09:28   
Reply With Quote
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
Quote:
Originally Posted by renderdemon View Post
...
I also was working 2 month ago in a similar setup(honestly a bit better than this,I have tested this and it's not perfect ,in some pose bones aren't good aligned,but it's a good start),my setup worked wellt except redraw problem ...
It would be great if you could share your research.
#13   Old 28-Jul-08, 17:00   
Reply With Quote
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
Here is my first fast test clip. It seems to look quite good with nice spline IK effect:
http://blip.tv/file/1129697/


Last edited by JiriH; 30-Jul-08 at 21:33.
#14   Old 30-Jul-08, 20:58   
Reply With Quote
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
I have corrected flipping and changed the way of twisting that is better to be driven just by FK chain. Also weight painting was improved.
http://rapidshare.com/files/13379080...FK_Test3.blend
#15   Old 31-Jul-08, 10:29   
Reply With Quote
slikdigit's Avatar
slikdigit slikdigit is offline
Member
 
Join Date: Oct 2001
Location: Northampton, MA
Posts: 1,764
Hi JiriH, just downloaded and checked- you almost certainly have cyclic dependancies in the file, which will give huge difficulties when animating.. you can see this if you move one of the handles, then cancel the motion; the rest of the chain doesn't respond to the cancelation, until you change frame or so.
on a quick glance you have:
bones controlled by a curve
the curve is controlled by a lattice
the lattice is controlled by hooks
the hooks are controlled by the armature

so you have the dependancy cycle armature->curve->lattice->empty-backto->armature
since blender calculates the dependancies on the object level excluding each bone, this is a cycle and not allowed... you can often fix it by splitting your armature object in to two: one which depends on the curve, and one that controls the empties. I didn't look into it deep enough to see if this is the case.
It seems like a nice setup if you can iron out the kinks.
............................................
tube/elephants dream/freefac(tory)
#16   Old 31-Jul-08, 17:38   
Reply With Quote
paya's Avatar
paya paya is offline
Member
 
Join Date: Feb 2008
Location: Czech Republic
Posts: 163
Very impressive rig Jirko jentak dál
............................................
Just when I thought I was out... they pull me back in!
#17   Old 31-Jul-08, 17:53   
Reply With Quote
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
Bassam, thank you very much for your help and advice. Having split armature objects rather scared me (I used two armatures within one rig for my squash&stretch ball rig but I am still not convince that there is not any other better solution).I have also realised that even though the dependencies really sucks in 3d view port the rendering seems to work good.

But you are right when animating it is really annoying to clear it by changing frame.

So during weekend I my continue with my research to solve cyclic dependencies.
#18   Old 01-Aug-08, 07:38   
Reply With Quote
JiriH's Avatar
JiriH JiriH is offline
Member
 
Join Date: Dec 2005
Posts: 1,515
I have just check it very fast and dependencies may be (I hope) possible to fix. I will just use one armature for deformations and the second separate one for controlling bones. According to my previous rigging experiences it in fact may be very good attitude in general to have separate special armature for controlling the rig. Animator is then concerned only with bones that are need for animating.

Last edited by JiriH; 01-Aug-08 at 08:22.
#19   Old 01-Aug-08, 08:10   
Reply With Quote
jpbouza's Avatar
jpbouza jpbouza is offline
Member
 
Join Date: Jan 2007
Location: Buenos Aires
Posts: 954
Hey JiriH, that´s a really cool and interesting concept you have there. Once you have fixed the cyclic issue it will be a really powerful spine rig for cartooney characters and many other things. Really Good Job!!
#20   Old 01-Aug-08, 12:48   
Reply With Quote
Reply

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 11:32.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Logo and website design copyright © 2006 by froodee design bureau. All rights reserved.
Other Blender Sites
new icon Blender Homepage »
The official Blender homepage
new icon BlenderNation »
Fresh Blender News, Every Day
new icon Blenderart Magazine »
Blender articles, tutorials and images.
Blender Headlines
Featured Artwork
Short animation: Barrel by Phlopper
Woolly mammoth by sebastian_k
Photorealistic classic furniture by eMirage
Social BlenderArtists