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 Tools Display Modes
  10 October 2012
Tail curling / flipping issue


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:


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?
  10 October 2012
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.
  10 October 2012
Thanks for the reply, but Im currently testing another solution I found here:


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...
  10 October 2012
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?
  10 October 2012
Actually...Mister Joleanes also has a handy little script on his page called "chain tools":


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...
  10 October 2012
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...
  11 November 2012
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.
  11 November 2012
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...
  11 November 2012
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.
CGTalk Policy/Legalities
Note that as CGTalk Members, you agree to the terms and conditions of using this website.
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
Society of Digital Artists

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

All times are GMT. The time now is 10:25 AM.

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