Another Skeleton Rig Question

#1
Is there any way to drive a joint chain smoothly along its rotational axis?

Let's say I have a seven bone joint chain, all in a straight line and all at zero rotation. How can I create a twisting motion down the length of the chain? I can bend a chain using a spline IK, but I can not twist along the chain axis. I would have thought you could use a orientation constraint hooked to every bone in the chain. But rather than twisting each bone the same amount, it goes bat crap crazy and turns into a knot instantly.

Another issue I have been having is using the orientation constraints and reverse rotations. I have a joint and constraint target object both with the same axis orientation, both zeroed. When I rotate the target object, the joint rotates in the opposite direction. If the axis orientation where not the same I would understand, but they are the same. Any ideas?
 
#3
Thanks Zoo.

I did see that. I was just hoping for another way to drive that rotation. I am trying to animate a hip to shoulder rotational twist. Animating by manually typing in numerical values is not ideal.

I suppose there is always hope of a simple script that could drive that rotational value with an object constraint tag. Maybe?:unsure:

Thanks again for the info though. I do appreciate it.
 
#6
Are you saying I can use a pole vector on the spline IK controller, or do you mean use a regular IK handle?

I have built a new skeleton for my character mesh, something that allows for more natural motion. The down side is it is also more complicated. There are too many joints to control traditionally. My goal at the moment is trying to drive this complicated skeleton through simple control rig. I found the spline IK works wonders for driving my new spine. I get a very natural torso bend just by moving a single point, but I can not twist it easily. If I could assign a “shoulder” control point which could twist the spine it would greatly simplify animating. Visually anyway.

It would be even better if it could drive the end point of the spline with the same controller.

I am just experimenting at the moment, but unfortunately I am not having much luck. I think I am just asking too much of the out of the box character animation tools. Scripts might be my best bet here.

Until then I just plan on taking note of a hip rotation value and using that number to offset shoulder rotation value. I am also going to take Zoo's advice and tweak the twist in the timeline from there. If I have any luck with this, I will post pics of the rig and controllers in action.
 
#7
Cheetah is lacking in the rigging department a bit. Yes, the pole vector with an IK set up. Spline IK is berry wigggy. I use the script Controlled Spline which works better and is easy to set up. Maybe use an orient or target constraint on the spline to control the twisting.
 
#9
OK. I'm home now and tested my suggestions and neither work!

It would be nice if we had more control over Spline IK. I honestly have never gotten it to work on the first try, then you have to pick points to use it, which isn't ideal.
 
#10
OK, I can work with this…
This entire animation was done with only keying the spine Spline IK’s 3 points, roll value and base position. The rest of the motion was auto resolved with IK targets and orientation constraints. There is an IK handle for each foot and one for the head. Each handle has a target object that also acts as an orientation constraint as well.

The first hip swing is only moving the base point of the spline side to side.
The second swing is only moving the middle point of the spline side to side.
The third swing is only moving the middle point front to back.
And finally, the last twisting motion is rotating the spline object as a whole, and keying in the “roll” tag on the spline IK controller.
I needed to drop the waist a bit more so the knees did not snap into lock position, but this was just a quick test. This literally only took a few minutes to do.

There are no less than 95 bones in the skeleton and I still need to add a few more in the head. The entire head mesh is being driven by a single bone at the base of the neck so there is some serious head distortion while moving around. I also need to add IK’s to the arms/hands as well as hand targets/controllers. Once that is done, it’s on to the IK constraints. There are going to be a lot of those as well.

I almost gave up with IK’s the other day, but this is workable. I hope to have this test model with an animation in the game engine by the end of this week. It's not perfect, but I can use this. If I dig into some scripting, I am sure I could do a lot more.
 
#11
You could try this script. It's a little time consuming setting up because you need a tag for every parameter separately, but it might work for what you need. You set up a bone chain. Set controllers for each bone (or what ever bones you need) and add the tag where needed to have one controller drive two bones. So, you get a curling effect between two bones. This way, you also retain the twist factor because there's no IK on it.

http://www.tres-graficos.jp/blog/files/search.php?k=f-curve+linker&d=&p=0&c=0&pn=1&f=

And, a quick test I made. Not perfect, but getting there.
 

Attachments

Top