In Part 4, we will rig the Left Hand and complete the Left Arm. The Hand will have global and individual controls for finger curl, splay, fan and flex. The Left Arm and Hand will be mirrored to the Right side. We will finish the Left and Right Arms by adding the twist for both upper and lower arm bones, and add some optional automatic controls to drive the shoulder.

コメント

  • harryabreu 7年, 5ヶ月 前  | 

    Thank you very much Mr Goldfarb :)
    Now is time to Character Riggging in Houdini.
    A lot of people know the Houdini's Power in VFX but now is time to show Character animation.
    Let's Go ;-)

  • Ryanradcliffe3 7年, 5ヶ月 前  | 

    Great Tutorials! This is helping me to learn Houdini rigging very smoothly. Quick question, why don't you use Houdini's built in IK from bones tool? Is the setup not ideal?

    • goldfarb 7年, 5ヶ月 前  | 

      Thanks!
      The IK From Bones tool sets up it's own control objects and animation interface, since the asset being built in this series uses it's controls and interface it was simpler to just do everything manually - plus it help users learn how to do these things :)

  • noirshinobi 7年, 5ヶ月 前  | 

    Thanks for the great tutorial! But where is the download link for last two scripts?

  • IceBar0n 7年, 5ヶ月 前  | 

    Thank you Mr Goldfarb ! Im checking sidefx website every day for your new rigging series :)

    • traileverse 7年, 5ヶ月 前  | 

      Don't hold your breath, next one won't come out until November, lol.

  • kishchris 7年, 5ヶ月 前  | 

    love the series ! Thanks for creating it !

  • seifdune 7年, 5ヶ月 前  | 

    Bone split script ?

    • goldfarb 7年, 5ヶ月 前  | 

      opps!

      It'll be uploaded asap!

      thanks!

      • noirshinobi 7年, 5ヶ月 前  | 

        and what about twist expr script? :)

  • jon3de 7年, 5ヶ月 前  | 

    Thank you very much!!! This series are so awesome. You have some serious teaching skills!!

  • seifdune 7年, 5ヶ月 前  | 

    Please another two scripts(mirror hda parameter and op)

  • David_Kahl 7年, 5ヶ月 前  | 

    Really cool material Michael! Can't wait to digg into all of it!

  • captainbuckfish 7年, 5ヶ月 前  | 

    Loving these tutorial. Will there be a tutorial about capturing weights and painting weights in the future?

    • goldfarb 7年, 4ヶ月 前  | 

      yes. a second series on capturing will follow this one.

      • lou78 7年, 3ヶ月 前  | 

        I know it makes a lot of requests, but a bit of muscle series coming along the capturing one would be a great add.

  • jorgemartinsegura 7年, 4ヶ月 前  | 

    Really cool material! will be implemented matching FK - IK and viceversa in the next lessons??

    • goldfarb 7年, 4ヶ月 前  | 

      yep - the last video has a walk through of the scripts.

  • anon_user_38315714 7年, 3ヶ月 前  | 

    It looks good, but coming in without having done other tutorials on rigging, why is it necessary to change the original null to rotate downward in x axis? If one creates bones directly on top view of a hand, they will rotate in y direction. Secondly, at around 6 min 40 sec, you access something on the rigging menu that doesn't exist on my installation under "rigging". That was confusing.

  • edschiffer 7年, 3ヶ月 前  | 

    Hi Goldfarb,
    the ZIP doesn't contain the Mirror HDA Parameters and Opchange scripts. I'll retype these, but maybe would be good to add so it fixes for everybody...
    thanks for the lessons!

    • Ivo van Roij 6年, 9ヶ月 前  | 

      All the rigging series tools for the shelf are already in Houdini. Just add the "rigging series" tab and there you go.
      Cheers!
      - Ivo

  • edschiffer 7年, 3ヶ月 前  | 

    I've typed the Mirroring scripts missing and packed all scripts up to now into a shelf. maybe this helps someone: dropbox.com/s/to34hwdp9bp09o3/riggingSeries_04.shelf

    • oleg_zv 7年, 2ヶ月 前  | 

      thank you

    • Myria 6年, 3ヶ月 前  | 

      Nice one, thanks

    • karelkiers 6年, 2ヶ月 前  | 

      Thank you, this helps a lot!

    • pietnelis 6年, 1ヶ月 前  | 

      Could you help me out in installing this. When I drag it onto my shelf bar, there is an error message AttributeError: 'NoneType' object has no attribute 'allItems'. And when I close that message, it also says Error: Invlid .hip file header. I work with Houdini 17.5.372 Indie. I desperately need the 'opchange' scrip...!!

      • pietnelis 6年, 1ヶ月 前  | 

        Never mind, I copied the text in my text editor and managed to get it working. Thank you for taking the effort of typing this all out...!

  • sidenimjay 6年, 6ヶ月 前  | 

    Question for Mr Goldfarb ... when you offset the meta bone controls, you are doing it with the transform and then offsetting the pivot....is it not easier to use the Misc Tab Display Center or is there a deeper reasoning for the method you have chosen?

    Great series!

  • mechmedved 6年, 6ヶ月 前  | 

    How can i fix the problem? When i switch between IK and FK the bone(arm bone) is turning, but i don't need it.

    • Gunthern 5年, 10ヶ月 前  | 

      I had this problem as well. I was able to solve it by adding a constraintTransform node to the L_arm_bone2 constraints chop network, so that getWorldSpace is rotated 180 degrees in Y before the value is passed to the constraintBlend node. I hope this helps.

  • videlam 6年, 6ヶ月 前  | 

    Hello me again, in the script Split Bone the input should be converted to a string.

    numbone = netparent.createNode("bone", name + "_" + str (prefix))

  • Flakelace 6年, 3ヶ月 前  | 

    another great tutorial, thankw a lot !!

    just dropping a node here from an animator perspective.
    having the expression go from -10 -> 10 is always better to animate even if it's going to be way to strong on one side.
    having different values from -10 -> 0 and from 0 -> 10 will create a speed shift in the anim when you animate it from -3 -> 5 for example.
    that's quite hard to smooth out then.
    hope that's a helpful thought and please correct me when I'm stupid here :)

  • shandypranoto 5年, 3ヶ月 前  | 

    Thank you for the great rigging tutorial! It's been 2 years but I just watched this on Youtube. I am using Indie 18.0.391 and I get this message when trying to mirror HDA parameter :
    'NoneType' object has no attribute "parmTemplates"
    Traceback (most recent call last):
    File "mirror_hda_parms", line 56, in <module>
    File "mirror_hda_parms", line 36, in renameTemplates
    AttributeError: 'NoneType' object has no attribute 'parmTemplates'

    Can anyone please help? I just learned how to code and don't really use python...

    • shandypranoto 5年, 3ヶ月 前  | 

      I finally figure it out.. My bad. Reason why it didn't work for me is because I did not check my parameter folder was actually labeled "L_arm", so it returns nothing. It is my habit to replace every space in houdini with "_", so all the name and label will be the same convention so I don't need to keep hovering my mouse to check each parameter's actual name. I put the script here (if someone is using "_" to replace spaces, this might work for them, and correct me if im wrong, just modified tiny bit of the actual script) :

      # Mirror HDA Parameters
      # Select HDA
      # Click Shelf Tool
      ##################################
      # get the HDA
      hdanode = hou.selectedNodes()
      hdanode_type = hdanode[0].type()
      definition = hdanode_type.definition()

      # make copy of parmTemplateGroup()
      ptg = definition.parmTemplateGroup()

      # get folder
      folder = ()
      folder = hou.ui.readInput(
      message = "Folder to Mirror:",
      initial_contents = "L Arm")
      folder = folder[1]

      # get the old and new Prefix
      prefix = ()
      prefix = hou.ui.readInput(
      message = "Original Prefix:",
      initial_contents = "L")
      prefix = prefix[1]

      new_prefix = ()
      new_prefix = hou.ui.readInput(
      message = "New Prefix:",
      initial_contents = "R")
      new_prefix = new_prefix[1]

      # find the Folder containing the parameters
      new_folder = ptg.findFolder(folder)
      def renameTemplates(folder, prefix, new_prefix):
      temp = folder.parmTemplates()
      for t in temp:
      if type(t) == hou.FolderParmTemplate:
      renameTemplates(t, prefix, new_prefix)
      else:
      # setName and setLabel
      name = t.name()
      name = name.replace(prefix + '_', new_prefix + '_')
      t.setName(name)

      label = t.label()
      label = label.replace(prefix + '_', new_prefix + '_')
      t.setLabel(label)
      folder.setParmTemplates(temp)

      # relable folder
      label = folder.label()
      label = label.replace(prefix + '_', new_prefix + '_')
      folder.setLabel(label)

      renameTemplates(new_folder, prefix, new_prefix)
      ptg.insertAfter(new_folder.name(), new_folder)
      definition.setParmTemplateGroup(ptg)
      definition.save(definition.libraryFilePath())

Please log in to leave a comment.