Tail curling / flipping issue

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
Old 10 October 2012   #1
Tail curling / flipping issue

Hi,

still workin on my chameleon rig (3ds max)...

Next problem Im facing:

For the tail I built a simple FK chain with several controls linked together.

1. Created bone chain.
2. Created control object every 5 Bones.
3. Orientation constrained bones in between to surrounding control objects.
4. Weighed orientation constrains.
5. Linked all control objects together.

By selecting some or all of the controls and rotating them together, I can make the tail curl.
But unfortunately it doesnt curl the way I want it to curl:

http://www.flickr.com/photos/28846954@N06/7165955493/

To form the helix, some bones need to be rotated more than 180 and of course then I get undesired flipping...

My rigging knowledge is still very basic, is there any way to fix this, without scripted controllers?
 
Old 10 October 2012   #2
One easy workaround would be to put the euler rotation controllers for the controls into lists (just do that quickly by freezing the rotation: alt+RMB --> freeze rotation; that'll make a list and another euler on top, edit the zero euler weight in the list) and then reducing the weight percentage of the euler controller in the rotation list. For example, you could have your bone hierarchy going from the base to the tip have their (zero) euler controller weights something like the following: 20, 30, 40, 50, 60, 70,80, 90, 100. You have to figure out the exact weights either by trial and error or mathematically by taking into account the function for the spiral curve and the lengths of the bones. The last bone will rotate fully when you rotate, while the closer to the base ones will rotate less.
 
Old 10 October 2012   #3
Thanks for the reply, but Im currently testing another solution I found here:

http://joleanes.com/technical_stuff/Rolling_Chain.php

This actually looks like exactly what I need...

I got the first part of the solution working by using a setup with point helpers path constrained to the spline and then using position constraints and look at constraints to keep the bones attached to the spline, instead of a spline IK solution. This way I got the first part of his solution working already, unfortunately hes not going into detail very much, so now Im trying to reproduce the second part...
 
Old 10 October 2012   #4
Yeah, well, I ALMOST got it working...

I reproduced the curling with a bone chain constraint to helpers on a path constraint on a spline with a bend modifier...

Then I build an FK Chain based on a splineIK on top.

And then I used a third chain and orientation constrained it to both, so I could blend between the two.

Wich was a pain in the a**, because each chain consisted of 40 bones.
Everything looked great until I skinned the mesh to it and finally saw the flipping on the Bones of the curl-chain...

Any idea on how to solve this issue? Or do you need more information?
 
Old 10 October 2012   #5
Actually...Mister Joleanes also has a handy little script on his page called "chain tools":

http://joleanes.com/scripts_plugins/chaintools.php

I already downloaded it and messed around with it a bit before rigging the tail, so I took a closer look at the description.

He already implemented a solution for avoiding the flipping issue, using quaternion aims.
I took a look at the rotation scripts but this is still way over my head. Fortunately I can still press the right buttons...

So now I can simply create a bone chain with as many bones as I want, select the right checkboxes and then just put my bend modifier on top of the base spline...voila!
Curling+FK Control!

Last thing I need to do: wire the helpers that control the rotation of the chain to control objects, so I dont have to mess around with 40 helpers for my FK stuff...
 
Old 10 October 2012   #6
Ok, so now its almost working perfectly...

The only issue Im left with: since the bend modifier squashes the spline while its curling up, I get some undesired bone stretching. Theres a spinner included in the script, that lets you control the stretch factor, but if I set it to 0, the last couple of bones in the hierarchy loose orientation...
 
Old 11 November 2012   #7
Hello InsertMesh. I could be missing something in your initial post, but in order to get the spiral form of the chameleon tail, I think you can also do this with a bone chain. It's been awhile since I've been in max, but in XSI you can create a bone chain where each bone is smaller than the next. If you have 11 bones and each bone is lets say 90 percent the size of the next bone, then when you curl the tail you should get the effect. The key is that your bones at the end of the tail are closer together than the ones at the beginning - which is true to many skeletal arrangements in real animals.

Hope this helps.
 
Old 11 November 2012   #8
Hey artist x,

Interesting observation...always a good idea to turn to nature when it comes to figuring out how things work.
But the problems I was facing where mostly due to technical problems because of the way rotations work with Euler angles. Like I mentioned above: I found a scripted solution, but I'm pretty sure I'm not able yet to change the script to make a bonechain with degrading bone length...so for now I'll go with the solution I found...
 
Old 11 November 2012   #9
Thread automatically closed

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
 
Thread Closed share thread



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

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 12:43 AM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.