Empowering rigs using Offset Parent Matrix [MAYA 2020]

Поделиться
HTML-код
  • Опубликовано: 5 фев 2025
  • Maya 2020 features a powerful new way to drive transforms in your rig using an Offset Parent Matrix. This lets you cut down on the number of joints, speed up your rig performance, and allow for more adaptability.
    *Update*: I tried my hand at adapting the Emma rig using Offset Parent Matrix. Currently this is still a prototype, but if you're interested in seeing one possible solution you can check it out here: areadownloads.a...
    Maya 2020 What's New: help.autodesk.c...
    The Matrix is © 1995-2015 Warner Bros.
    The Matrix emojis are used according to the Link Ware license and are available at www.visualphar...

Комментарии • 72

  • @Autodesk_Maya
    @Autodesk_Maya  5 лет назад +5

    *Update*: I tried my hand at adapting the Emma rig using Offset Parent Matrix. Currently this is still a prototype, but if you're interested in seeing one possible solution you can check it out here: areadownloads.autodesk.com/wdm/maya/matrix_math_emma_V1.0.zip

    • @gretchenasmar7371
      @gretchenasmar7371 4 года назад +1

      This is an incredible feature and a huge game changer, but I was wondering... if I'm rigging, let's say a character in A pose, how do I preserve the orientation of regular curve controls so that they match with the joints, which are angled? If there are no offset groups, I'm not sure how I should zero them out without them getting oriented to the world.

    • @Autodesk_Maya
      @Autodesk_Maya  4 года назад

      @@gretchenasmar7371 Are you manually creating curve controls out of NURBS curves? And if so, are you keeping their transform nodes or parenting the curve shapes directly to your control bones? If the latter, you shouldn't need to worry about it at all since you can just manually orient the controls using their Control Vertices.
      If the former - first off, I would avoid doing it this way since extra transforms could introduce extra variables into your rig. But if you must do it this way, you should be able to use the multMatrix node to multiply together all the spaces before the control (so in an arm control's case, the upper body * arm space matrices) to give you the diagonal arm space as "0-orientation".

    • @gretchenasmar7371
      @gretchenasmar7371 4 года назад

      @@Autodesk_Maya I'm creating them and creating an offset from the same curve (deleting the dup shape and parenting the original to that group), which is what I'm trying to eliminate

    • @Autodesk_Maya
      @Autodesk_Maya  4 года назад

      @@gretchenasmar7371 Sorry, do you mind posting an example file somewhere I can get to it (such as area.autodesk.com's forums)? I'm having a hard time envisioning what you mean.

    • @gretchenasmar7371
      @gretchenasmar7371 4 года назад

      @@Autodesk_Maya No worries! Sorry I took a bit, apparently I couldn't upload the file directly onto the forum. Here's the link with a description and the drive file, hope it helps :)
      forums.autodesk.com/t5/maya-animation-and-rigging/how-can-i-keep-control-curve-orientations-when-using-offset/td-p/9394491

  • @AL985
    @AL985 5 лет назад +3

    ey this is a secret appendix to the rigging tutorial. this is so good. cant wait for you to revist the old rig with the tech

    • @Autodesk_Maya
      @Autodesk_Maya  5 лет назад +1

      I'm still experimenting with this new functionality and figuring out all the things it can do (spoiler alert: it's a lot). However, if you're interested, here's an early prototype of the Emma rig adapted with some of the baseline concepts of matrix math.
      areadownloads.autodesk.com/wdm/maya/matrix_math_emma_V1.0.zip
      I've included a text file and documentation in the scene itself on what I did. I apologize in advance for any bugs you may encounter - it's still early days even for me with this stuff.

  • @andrewsilke1
    @andrewsilke1 5 лет назад +10

    Hell yeah, awesome guys!

  • @alexisl4348
    @alexisl4348 4 года назад +1

    This was really needed. Building older rigs with the old system was very messy by comparison.

    • @Autodesk_Maya
      @Autodesk_Maya  4 года назад

      Make sure you check out the link to the example rig in the description too!

  • @李景天
    @李景天 5 лет назад +5

    This is awesome, I wish there is a menu command to do these connections right away instead of doing it in the node editor, other wise, it seems to result in more clicks.

    • @bigfisher42
      @bigfisher42 5 лет назад +2

      Yes, they need to rework the connection editor with filters and tooltips to make this kind of feature easier to use.

  • @AnimatorsJourney
    @AnimatorsJourney 4 года назад +1

    @9:26 - In Maya 2020.4 testing this doesn't behave the same. I am trying with a new scene, and a two joint chain duplicated, so a simple set up. Using both matrix and world matrix have the same result. There's an offset like you demonstrate, but matrix doesn't fix it, nor does zero-ing out the 'child' as it's also rotated from its original position, but without rotation values. I'm ultimately trying to see if I can use it as an inbetween for retargeting mocap skeletons while leaving the joints free to adjust, but every time I try this method, even with matrix and not world matrix, it creates a weird offset in the transforms. Any ideas?

    • @vevlakhov
      @vevlakhov 2 года назад

      +1 the same shit...

  • @IWHFE
    @IWHFE 8 месяцев назад

    I really appreciate this helpful content! After watching this last video about the use of the Offset Parent Matrix before doing the full playlist, it feels a lot more difficult to decide whether or not to follow this tutorial from the beginning. I understand that the real-time creature rigging playlist here on @Autodesk_Maya channel does use the Offset Parent Matrix, but perhaps doesn't include as many features as this playlist creating the Emma rig. I am trying to decide where to start. I have lots of experience rigging in 3ds Max, so would like to dive in and learn as much about advanced Maya rigging as possible, but am not sure I want to commit to this or the other with the intention of eventually doing both. So with the understanding that I am possibly only choosing one, do you think that if I understand the Offset Parent Matrix while going through this (Custom Rigging for animation (film / tv / shorts), that I will be able to apply the fixes using the Offset Parent Matrix as I go? If not, that's not really a dealbreaker, as my goal is to learn the more robust rig. Any suggestions? Thanks so much!

  • @antonkalchenko9841
    @antonkalchenko9841 5 лет назад

    Dear autodesk and Will Telford thank you thank you thank you thank you !!

  • @jonstoll7108
    @jonstoll7108 5 лет назад +2

    Dare I say "Whoa!!"
    Very cool!!!! I think this just changed a lot of rigging workflow issues. I'll be curious to see how a rig scales now and how much lighter the rig will be. As far as speed goes I know Parent constraint is faster then Hard Parenting so Ill be curious to see the difference here.

    • @Autodesk_Maya
      @Autodesk_Maya  5 лет назад +1

      These are much faster than even parent constraints (which you can check for yourself by running the Profiler).

  • @z_tiger311
    @z_tiger311 5 лет назад +14

    I think it's time for a new "Creating a Character Rig" series with the new workflows :)
    PS; how do u make that fading floor?

    • @leecaste
      @leecaste 5 лет назад +3

      Circular ramp in the shader's opacity channel.

    • @Autodesk_Maya
      @Autodesk_Maya  5 лет назад +7

      I'm still experimenting with this new functionality and figuring out all the things it can do (spoiler alert: it's a lot). However, if you're interested, here's an early prototype of the Emma rig adapted with some of the baseline concepts of matrix math.
      areadownloads.autodesk.com/wdm/maya/matrix_math_emma_V1.0.zip
      I've included a text file and documentation in the scene itself on what I did. I apologize in advance for any bugs you may encounter - it's still early days even for me with this stuff.

  • @baarg8672
    @baarg8672 4 месяца назад

    8:03 - _[pick walking]_ - its okay if you use controller's parent tagging

  • @Figster62
    @Figster62 5 лет назад +1

    I wish there was a way to scale the joint handles up.

  • @spyxx
    @spyxx 5 лет назад +2

    Looks pretty usefull, thank you guys!

  • @marc1137
    @marc1137 4 года назад

    actually the oid constraint , comes with some offset target constraint which i use many times to do this kind of offsets things , new constraint matrix is same but just more clean? its ok , thx

  • @vishnus5531
    @vishnus5531 5 лет назад +1

    Is there Eigen values and eigen vector in Maya 2020

  • @Deepsingh-uv8wv
    @Deepsingh-uv8wv 5 лет назад

    please provide some study material for flexible facial rigging ..... it would be very thankfull

  • @japaneseextremme3811
    @japaneseextremme3811 Год назад +1

    But the use of Offset Parent Matrix is pointless if you want to get your rig into another Maya scene. Maya can't export the OPM values and results in a broken rig. If there is no way to export and import a rig with OPM values, I fail to see how this empowers rigs and is not a detriment to them?

    • @Autodesk_Maya
      @Autodesk_Maya  Год назад

      That's odd - there shouldn't be an issue importing these into another scene unless you're doing so in a version of Maya that doesn't support Offset Parent Matrix. For example, the Mayabot rig in the Content Browser makes plenty of use of OPM, and anytime you load it you're literally importing it into a new scene.

  • @gherat
    @gherat Год назад

    4:55 Or just parent the cube under the cylinder?

    • @Autodesk_Maya
      @Autodesk_Maya  Год назад +1

      The video gets into why you might not want to do this (especially in rigging).

  • @YuuJer
    @YuuJer 5 лет назад

    this reminds me a lot about XSI's set neutral pose

  • @Probable.Orange
    @Probable.Orange 5 лет назад +5

    Why dont we just get this as an option under constraints?

    • @Autodesk_Maya
      @Autodesk_Maya  5 лет назад +4

      They're not really the same thing. Although I'm showing how to use this to mimic a constraint, you can actually do much more with them.

    • @Probable.Orange
      @Probable.Orange 5 лет назад

      @@Autodesk_Maya I get that, it just would be nice if you could do it with a single button. Still, can't wait to finally add improved finger controls to my rig because I was bout ready to rip all my hair out with adding sliders while still keeping FK controls

    • @AerysBat
      @AerysBat 5 лет назад +2

      Maya Learning Channel I think the question is more “Why not add a button for this?” Though it only takes a minute to write your own script some users aren’t comfortable with scripting

    • @Z33Garage
      @Z33Garage 5 лет назад +7

      ​@@AerysBat
      I don't have maya 2020 ( so perhaps my syntax is off) yet but if you do and want a tool, here is some python to get it working as a button. ( just save the code out to your shelf). ( in python)
      #FOR MAYA 2020 ONLY
      import maya.cmds as cmds
      #Select the parent then child object
      def constrainObjWithOM():
      sel = cmds.ls(sl=True)
      if len(sel) < 2:
      print ("only select two objects please")
      elif len(sel) > 2:
      print ("only select two objects please")
      else:
      cmds.connectAttr ('%s.worldMatrix'%sel[0],'%s.offsetParentMatrix'%sel[1])
      print ("yay")


      constrainObjWithOM()

    • @Probable.Orange
      @Probable.Orange 5 лет назад +1

      @@Z33Garage I love you man

  • @tommykho4348
    @tommykho4348 4 года назад

    sorry im noob at rig, i think this offset matriks is great, but when i rig i usually lost the hierarchy of the parent, with parent constraint, i can search it within hierarchy graph to look for an extra sign of parent constraint in the child, and i could click it and see where the parent at.
    but with this offset matriks... it just so neat at hierarchy graph... that it hard for me to troubleshoot when i had the connection mistake.
    what is the solution?

    • @Autodesk_Maya
      @Autodesk_Maya  4 года назад

      For Offset Parent Matrix, you'd be able to follow the hierarchy in the Node Editor rather than the Hierarchy Graph (aka Outliner).

  • @gdaygerman29
    @gdaygerman29 4 года назад

    Is there a way to adjust the OPM using the manipulators instead of adjusting it using only the values?

    • @Autodesk_Maya
      @Autodesk_Maya  4 года назад +1

      You could always connect a locator to the OPM inputs. Then you can just select/move the locator to change the OPM.

  • @daveyhu
    @daveyhu 5 лет назад

    Is this going to be available for Maya LT anytime soon?

  • @acamporota
    @acamporota 5 лет назад

    Awesome

  • @roxonogueira
    @roxonogueira 5 лет назад

    Does it also replace the function of having two parent constraints with a blend like when we animate an object going from one hand to another?

    • @Autodesk_Maya
      @Autodesk_Maya  5 лет назад +2

      There's a blendMatrix node that allows you to do the same sort of thing, and it even lets you choose which channels (Translate, Rotate, Scale) to pass through.

    • @roxonogueira
      @roxonogueira 5 лет назад

      @@Autodesk_Maya So I don't see any advantage as to using parent constraints. Is there a way to make this connection into a script? If it's possible, then it's easy as selecting a parent, shift selecting a child and run script just as you would with a regular constraint

    • @Autodesk_Maya
      @Autodesk_Maya  5 лет назад +2

      Well, as mentioned in the video, the primary advantages are performance increases (matrix operations are simply faster and less complex behind the scenes than constraints), and more versatility (ability to adapt joints, perform additional stacked transforms, etc).

    • @Z33Garage
      @Z33Garage 5 лет назад +2

      @@roxonogueira the advantages are less dirty nodes in between, less connections, and far greater stability when working in a pipeline. Ask an animator when a constraint in their scene from a rig or one they made randomly just breaks.

    • @roxonogueira
      @roxonogueira 5 лет назад +1

      @@Z33Garage yes I worked in some cinematics and moving props around was always a pain. I always set some extra groups and locators over a single object to animate it's offset when constrained. Specially books. They were hard to animate between hands but it was fun.

  • @MauroSanna
    @MauroSanna 5 лет назад

    This is absolutely great!
    Any chances of having a bidirectional constraint as well?

    • @Autodesk_Maya
      @Autodesk_Maya  5 лет назад

      Hmm, you could use the pickMatrix node to setup a situation where object A controls object B's rotation and object B controls object A's translation without getting into a cyclical error, but I'm not sure how much I would recommend it.

    • @MauroSanna
      @MauroSanna 5 лет назад

      @@Autodesk_Maya
      Yes, that's why I mentioned bidirectional constraint. For these kind of operations they are easier and mostly error free.
      Thanks for the tip though.

  • @npmmalayalamvfxtutorials1717
    @npmmalayalamvfxtutorials1717 5 лет назад

    Is this like delta transformation like in blender?

    • @Autodesk_Maya
      @Autodesk_Maya  5 лет назад +2

      Sort of, though you could also achieve the same results as a delta transform simply by grouping an animated object and then moving the group. Offset Parent Matrix works at a much deeper level and allows you to do more complex things. For example, you wouldn't be able to do the simplified hand controls shown at the end of the video using delta transforms. In fact, I don't think they work on bones at all (though I could be wrong).

  • @ivnbgtv
    @ivnbgtv 5 лет назад

    When using offset matrix instead of parent constraint is it possible to bake the child's transforms somehow?

    • @bigfisher42
      @bigfisher42 5 лет назад +1

      At first sight it doesn't seem to be possible. I guess you could parent( with no offset) a locator to the child, bake the locator, unbind the child, parent the locator to it, rebake. I agree such a procedure should be made into a button by default but let's not wait 5 years for Autodesk to make it. It's a simple MEL script to make.

    • @Autodesk_Maya
      @Autodesk_Maya  5 лет назад

      I'm not sure you'd really want to bake matrix transforms since one of their greatest strengths is the ability to quickly disconnect/reconnect them to make changes to the rig. Just curious, what's your thought process on wanting to do that?

    • @ivnbgtv
      @ivnbgtv 5 лет назад

      @@Autodesk_Maya It may be useful in some animation scenarios.
      For example what I had in mind with offset matrix:
      To connect a backpack to an animated character, bake the animation, reconnect and offset the keys to get a secondary overlapping animation. The advantage is that the transforms would be in world space and easier to work with. This could be done with constraints but it maybe faster and cleaner to do with matrix connection.

    • @Autodesk_Maya
      @Autodesk_Maya  5 лет назад

      @@ivnbgtv Hmm, if I'm understanding the scenario properly, you could just do this by connecting a locator (parented under the character) to the offset parent matrix of the backpack, then animate both the locator (in character space) and the backpack (in world space) to get primary/secondary animations. No baking required.
      Or if you want to keep everything in world space, feed the character matrix into the locator's offset parent matrix, then the locator's matrix into the backpack's matrix, while keeping them both in the root hierarchy.

    • @Yoshermon
      @Yoshermon 5 лет назад

      @@Autodesk_Maya I make rigs geared for animating characters for video games, so being able to bake all of the animation down to the joints so I can export skeletal animation to a game engine is crucial. If I were to use matrix transforms in these rigs only to learn that they do not allow the animation to be baked properly then the rigs would be completely worthless for the very thing they are made for.
      Additionaly, baking animation is used in motion capture and animation retargeting workflows as well, so if matrix transforms prevented that then it would give riggers another reason to avoid them completely.

  • @Z33Garage
    @Z33Garage 5 лет назад +3

    I don't have maya 2020( so perhaps my syntax is off) yet but if you do and want a tool, here is some python to get it working as a button. ( just save the code out to your shelf). ( in python)
    #Select the parent then child object
    import maya.cmds as cmds
    sel = cmds.ls(sl=True)
    cmds.connectAttr ('%s.worldMatrix'%sel[0],'%s.offsetParentMatrix'%sel[1])

  • @copyfx9070
    @copyfx9070 5 лет назад

    Super useful !

  • @ThomasSchannel
    @ThomasSchannel 5 лет назад +2

    Mw ha ha so powerful!

  • @alexiswilson834
    @alexiswilson834 5 лет назад

    ahhhh that's so useful!!!!!!!!!

  • @morin6661
    @morin6661 3 года назад

    I saw in the following tutorial that you can have an issue with rotation when you connect a transform to a joint and have to tackle with the solution.
    ruclips.net/video/_LNhZB8jQyo/видео.html
    In this tutorial, you connected the matrix of one joint to another. so does this mean that you can connect with joint matrices without worrying about destroying the rotation?

  • @AceHardy
    @AceHardy 5 лет назад

    💻📱

  • @shashilatadevi7086
    @shashilatadevi7086 4 года назад

    @dhamalasticworld

  • @Neomatrixology
    @Neomatrixology 5 лет назад

    🔋💊🐇🕳🔌📡