Hi, I am trying to setup a series of joints that have curves associated with them using "parent -add -s" so that when I select the curve it selects the joint. But I don't want those curves to move with the joints. Is there any way to do this?
I've tried using an expression & vectorproduct node to move the cvs of the curve by the world space position of the joint with some success. But when I rotate the joint it doesn't compensate for that. Any help would be much appreciated
You can do exactly this with the transformGeometry node, it simply transforms geometry based on an input matrix. If you apply the inverse world matrix of the shapes transform to the geometry, you effectively cancel out any transform influence over the shape.
Ok, I can't believe I can't get this but I'm having trouble figuring out how to get this to work. I connected the World Inverse Matrix of the joint to the transformGeometry's Transform . I'm assuming I need to connect something from the curveShape to transformGeometry node but I can't figure it out. Sorry.
by the way, the above procedure only works for nurbsCurve control shapes....though, it could easily be extended to accept all shape types.
Once you have your control shape positioned how you want it, run -
CODE holdShape "yourJointName";
Replace "yourJointName" with the actual name of the joint parent of the control shape.
Just keep in mind...any tweaks you want to apply to the control shape must be done to the original shape node (the one feeding into the transformGeometry node), otherwise you will get some wierd transformations when rotating and scaling your joint.
On this subject theres a nifty trick that ive been using lately. Since the transform node nulls out the trasform of the object do this:
slit out parts of the mesh you deform in your rig witha slit history delete. then parent a shape under the bone, counter tranform the bones transform and feed the result to the skeleton shape. (freeze normals too at some point)
Now you end up with a locator, that looks like and defroms like the part of the skin you "cut out", repeat for all areas. Hide original. Now what you have is a character that does not have eny additional part to pick but each sface area acts as the different bones. Leaving lessw clutter on screen but with ALL the finctionality of the cluttered version.