Rigging

Rigging101 » Rigging128

Maya rigging question (12 posts)

About This Topic

Tags

No tags yet.

  1. noobwants2learn

    offline
    Member
    Posted 8 years ago
    #

    Hi all,

    I'm a noob to Maya.

    I need to rig a dummy controller that control 3 joints in hierarchy, where joint1 is the grandparent and joint3 is the grandchild. When I rotate the controller 30 degrees, joint1 will rotate 30 degrees, joint2 20 degrees, joint3 10 degrees, just like a finger rig.

    How do I setup this in Maya?

    Thanks in advance,
    Cyan

  2. Smapdi

    offline
    Member
    Posted 8 years ago
    #

    Look into Set Driven Keys. There is plenty of info on them online and in the help docs. Basically you can use a controller as a driver to other objects.

    Good luck!
    Chad

  3. noobwants2learn

    offline
    Member
    Posted 8 years ago
    #

    @Smapdi:
    Thanks. Btw, I have another Maya rigging question.

    How do you record object orientation as default? (in Lightwave it's called Record Pivot if I'm not mistaken).

    I need to make it default orientation as I'm going to create an expression for this controller object. Thanks again.

  4. Smapdi

    offline
    Member
    Posted 8 years ago
    #

    This is a tricky bit of Maya, basically you have to make your controller match the orientation of the joint it's driving. Then you set up the mechanism to do the actual controlling.

    Try this: Make you controller around centered around the origin. Group it to itself (pick the controller and use Edit>group). Name things properly, example: for the controlling object use 'my_controller' and it's parent should be something like 'my_controller_offset' or 'my_controller_group'. Than constrain the 'my_controller_offset' to the top joint. Delete this constraint. Then constrain or SDK or whatever the joint to the 'my_controller'.

    Now you'll have all the orientations lined up properly.

    Sounds a bit complicated, but you get used to it quickly and you can code this quickly in MEL or Python if you get to it.

  5. noobwants2learn

    offline
    Member
    Posted 8 years ago
    #

    'Than constrain the 'my_controller_offset' to the top joint...'

    Thanks, Chad. But I'm lost at this point. Which constrain do you mean?

    I'm going to create expressions that link the controller object to the joints; do I still need to use Set Driven Keys?

    Thanks again.

  6. Smapdi

    offline
    Member
    Posted 8 years ago
    #

    Oops, a parent constraint would work in that example.

    Maya wont let you drive one attribute via two different attributes (dont worry, later you can work around this with other tools) so either an SDK or Expression, but not both will work for now.

  7. noobwants2learn

    offline
    Member
    Posted 8 years ago
    #

    Finally I used Grouping and Expression. Problem solved. Thanks again, Chad.

  8. sim.On

    offline
    Member
    Posted 8 years ago
    #

    [quote]
    How do you record object orientation as default?
    [/quote]

    hey noob ,

    i am not sure if i misunderstood you , but you can change the "rotateOrder" of your joint and also of your Control ( so you will not run into this "gimbal"-issue , once you rotate on Y-axis )

    maya always creates the joints and transform_nodes ( e.g. a control_Curve ) in "xyz" rotateOrder ... the Axis in the middle ( in this case "y" ) , is always the least used axis - so once you want to mainly rotate the Y_axis , change the rotateOrder either into "yxz" or "yzx" ( depending , on which axis , you prefer to be the second-most-important axis / once you say "y" is the most impoartant axis , and you say "z" is the second_most important one , one would choose "yxz" : y - important ( first ) , z -important ( last ) , x -least important ( into the middle )

    some times it also makes sense to switch the first and last axis ... depends , on how you like the controls to behave in gimbal_mode ... so you could also use "zxy" instead of "yxz" .

    depending on the different types of controls which you create on your rig , or there is also a difference in the rotateOrders in e.g. shoulder or elbow_joints ( as the shoulder rotates in 3 axis , and the elbow just in one axis ... a professional-rigger always chooses a wise rotateOrder on A) the controls B) the Joints , Locators and subGroups of your rig .

    hope this helped a bit
    sim.On

  9. ramesh reddy

    offline
    Member
    Posted 8 years ago
    #

    hi

    I have a problem in squash and stretch in spine as well as in hand and i want individual joint squash and stretch.can any one explain me about that...

  10. Vishakha

    offline
    Member
    Posted 7 years ago
    #

    I wanna rig Ball with squash n stretch without but without using deformers.... so can it be possible? plz help me.

  11. Vishakha

    offline
    Member
    Posted 7 years ago
    #

    Ramesh Reddi sir, may I know,Whitch specific problem do u have in squash n stretch of hand n spine so I can try to solve it?

  12. sumit2pintu

    offline
    Member
    Posted 6 years ago
    #

    hey vishakha, it is possible to rig a ball with joint.

    create a joint chain of two joint, first joint place bottom and center of the ball and second palace top- center of the ball.
    put name of joint Ball_Btm_JNT and Ball_Top_JNT .

    skin the ball with only bottom joint .
    now use sc ik bottom to top.
    create 3 controllers. First for top, second for bottom and third for global movement.

    now match the position of top ctrl to Ball_Top_JNT and bottom_ctrl to Ball_Btm_JNT also global_ctrl to Ball_Btm_JNT.
    do freez all ctrl.

    now create two Loc for make joint stratchy.
    place one Loc at top joint and second loc at bottom joint .

    dont do freez of these LOC.
    for make its scratchy use Hyper Graph. use distance node and divide node .

    connect the translate value of the LOC1 to point 1 of distance node.
    translate value of the LOC2 to point 2 of distance node.

    now connect the distance value of distance node to divide node input X1.

    now select the divide node and put the same value of input X1 in input X2 .

    now change the operation of divide node multiply to divide .

    now connect the divide node output X to scaleX of bottom joint. (here X axis is pointing towards the child joint.)

    do parent constrain of bottom ctrl to bottom_loc , top ctrl to top_loc, ik handle to top_ctrl.

    make global_ctrl parent of top_ctrl and Bottom_ctrl.

    now u have to do set driven key for squash and stretch effect(bottom joint scaleY and scaleZ)

    let me know if u find any difficulty......

    Thanks & Regards,
    SUMIT KUMAR
    --------------------------------

Reply

You must log in to post.

Rigging101 » Rigging128
1,099 posts in 307 topics over 110 months by 188 of 8,226 members. Latest: fashionpvp, d2q4p5z2j, gasheldonl