PDA

View Full Version : Help request: Wire parameters driven from IK controlled bones


Scairp
01-29-2008, 10:52 AM
Hi all,

I'm having a problem with a rig I've just finished skinning my character to & am now setting up IK controllers for. If you know what's wrong here, please help!

My question is:
Does anyone know how I can drive a wire parameter, (or float expression), from a bone's rotation that is controlled by an IK chain?

Details of my scene:
3DS Max 9
Max "Skin" modifier
Muscles created using Max bones driven by joint Euler rotations, via wires & float expressions.

What I'm experiencing:
While setting up my IK & control objects, I've discovered that the wire & expression values are not being driven by joints unless they are directly animated. While I've found a workaround for orientation constraints (with more wires), this has been giving a severe headache when it some to IK.

I've tried instead to connect the wires to the "Preferred Rotation" controllers that the IK creates on the bones, but the result is similar as to when I wire from the FK sub-control rotation.

One last question: Is using Max bones to simulate muscle deformation a bad idea? Would it be easier to go back & learn to use Skin Morph instead?

All help is very gratefully appreciated!!!

Many thanks,
-Scairp

eek
01-29-2008, 03:37 PM
Does anyone know how I can drive a wire parameter, (or float expression), from a bone's rotation that is controlled by an IK chain?
Yes. An Ik chain is a system and the bones 'driven' by it are part of that system. The only way to get a bones rotation in an IkChain is to either, get the transform space of the bone relative to another. For example if you have a 2 bone chain 'a' and 'b' and you want to get b's rotation x you'd:

($b.transform * inverse $a.transform).rotation[1].value

or use the helpers>exposeTM node, and pick your target and reference object. Then you can wire the values of this object into your control.

Scairp
01-29-2008, 04:29 PM
The exposeTM node works beautifully, thanks a million! You've just saved me loads of rework!:applause:

I take it that if I worked it out via the equation you gave it'd solve quicker.
I'll have to practice my scripting skills before I can try that though. I've spent enough time trying to get it to work for now, I'll go with the exposeTM & return to the scripting again.

Thanks again! :D

CGTalk Moderation
01-29-2008, 04:29 PM
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.