PDA

View Full Version : Redirect Selections in Maya


palohman
12-06-2007, 03:59 PM
I saw this post in the CGTalk archive:
"
MDuffy
03-13-2003, 04:25 PM
I ran across an interesting little trick yesterday. Normally on rigs you will create controls out of something like splines, and use that to drive a joint to which your character is skinned. To pull this off, usually you will parent your joint under a control, or point-orient-scale constrain the joint to either your control or a null (empty group) under your control. Sometimes you'll have two complete heirarchies, one for joints and the other for controls.

Now if you are constraining a joint between multiple controls (for IK/FK switching for example), then you have to have the bones and controls separate. But if you are doing a simpler rig (such as for a prop) that uses joints and you don't want to turn on the handles for the joints (because little plus signs in the interface all blend together) then there is another option available.

Create your spline shape that will control a joint. Select the Shape node of that spline. Now add the joint-to-be-controlled to the selection. Now type "parent -s -r" in the MELScript window (minus the double quotes). This will reparent the shape to the joint instead of having it under a transform null. The fun thing is that when you select that shape in your interface, Maya will actually redirect the selection so you are selecting the joint! You can go into component mode and rotate/translate/scale the control points as desired to get your control shape in the right place.
"

I select the shape node of the control object, then the joint, and run “parent -s –r”. The control object translates a mile and when selected doesn’t manipulate the joint.
Does anyone have a sugestion, what am I doing wrong, or does this still work.
Thanks
Paul Lohman

palohman
12-06-2007, 11:19 PM
Well if any one is interested, that method ("parent -r -s") works fine, it just didn't look like it at the time. The control object orients to the joint in some way i don't understand, but the control objects verts or cv's can always be moved back to somewhere that makes sense, just not the objects transform itself.

Darksuit
12-07-2007, 01:09 AM
What exacltly is it that you are attempting to do. If your just looking for different ways to control joints, ik handles or ik splines, there are tons of ways.

however redirecting typically means to take the animation from one rig and place it on another.

also i find that the blend color node works a lot better than swapping constraints (much cleaner)

palohman
12-07-2007, 01:22 AM
Darksuit,
I wanted a way to redirect the selection of a easy to select control object(like a nurbs curve or proxy model) to the actual joint it would be controlling.
This may sound superfulus, but i am a real advocate for an all FK upper body, and in the spirit of keeping things simple i wanted to avoid clutering up the scene hierarchy with null objects, extra geomerty, and constraints.

Darksuit
12-07-2007, 04:21 AM
you can use pretty much anything to control something else in Maya, however there are some issues that you have to deal with.

Something to keep in mind, dont create the rig for yourself but create for yourself as an animator. This means just becuase you as a rigger might like doing something it may not work at all for the you as an animator.

Contstraints work really well to help keep controls Zeroed out. As an animator if I can't zero out a control and get it back into a particular state, it can cause nothing but issues in the end. Especially if I am really abusing the rig.

One big reason not to parent your control object is that you can wind up with an offset rotation. Joint Orientation can sometimes be offset from the rotation of the control object, the most common solution to fix this is to create a group containing just the control object. Then center pivot the group. use the group to control the orientation of the control object. This give you a nice clean zeroable control. Being able to zero out controls is a must.

Something to keep in mind is that can remove the shading group from any poly object to make it a wireframe object for use as a control object. Personally I am a big fan of the Nurbs Circle (at least for tutorials, nice clean and fast).

Having a all FK upper body is cool. usually a lot of older animators are also very keen on this, right up till thay have to plant a hand on something. Then its a complete pain in the.... I am a big fan of the FK/IK switch or if I can only have one I usually go with 3/4 IK setup. Which gives me FK from the Forearms through fingertips, but IK from the Shoulder to the Forearm. Like a 3/4 sleeve. If I do a male character, or robotic character I tend to use an FK spine, but for Female or Feline characters I tend you use an IK spine.

Constraints, and most of the controls should be unnoticable in the scene hierarchy when done. Generally when its all said an done you should have the Mesh, The global control and maybe a couple other things showing in the heirarchy when its collapsed.

scroll-lock
12-07-2007, 06:58 AM
Ahaa.. I think that might be of help to you : mp_ControlsUI.mel (http://www.scroll-lock.eu/index.php?option=com_docman&task=doc_details&gid=9&Itemid=28)
That`s a script I wrote to help me with the controls I use on my rigs. There is an option "Shape Parent" That does what you want. Cheers.

palohman
12-07-2007, 02:40 PM
damn Scroll-lock, you've got quit the assortment of powerfull mel scripts there!

like i said earlier, i did get it to work, but the Controls UI script is sweet.

Thanks a bunch

MDuffy
12-19-2007, 08:43 PM
Glad you got it to work, Palohman. I still use that approach (reparenting shape nodes) a lot in prop rigs and accessories on character rigs where the controls are only FK animated. It can greatly simplify and speed up a rig.

When doing the reparenting, it is generally a good idea to place the shape's transform node in the same place as the joint before reparenting. Personally I have hotkeys that allow me to quickly center and align one object to another. Then when you reparent the shape node it remains in place.

This approach is especially useful if you have several pre-made shape nodes to choose from. When possible, you want your shape to be a single curve whether it is in the shape of a circle, square, sphere, cube, plus sign, arrow, or a shape similar to a locator node. Then you can bring in the shape node you want, center and orient the shape's transform to the joint, reparent the shape, and delete the now-bare transform node that used to hold the shape. This makes adding control shapes to a bone layout very quick and easy (works with parenting shape nodes to other transforms in your heirarchy as well.)

Just make sure that when you do this, your controls should assume the default pose when you zero out their attributes. So for a joint, you would probably lock and hide the transform attrs (since bones in a heirarchy usually have values in the transform channels), and only expose the rotation and scale channels to the animator (lock and hide the scale channels if you aren't using them as well)

Cheers,
Michael Duffy

CGTalk Moderation
12-19-2007, 08:43 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.