ZooTools Custom Controls 2017

Maya: Rigging ZooTools

In This Class You’ll Access…
It’s always great to be able to build a biped rig quickly, but what about all the extras? The appendages, hair, pony tails, cuffs on clothes, ties and coat bottoms? This page gives a quick recap of previous pages and now you’ll explore rigging a little more deeply.

– an alternative joint orient setup for belts
– follicles setups for parenting controls to mesh and vertices
– how to replace any curve to quickly customising the look controls
– how to add constraints to your rig so controls stay oriented to world space
– how to add a right click matching Space Switch menus with Zoo Tools
– about selection sets and managing them with Zoo Tools selection set manager
– a setup for mirroring controls great for flipping poses
– about connections to show and hide your custom controls with a master controller

Running Time: 1:38 hrs
Software: Maya 2017
Maya 2016 (Legacy)

Instructor: Andrew Silke

Class Time: 1:38 hrs

1. Introduction (52 sec)

1.1 – Intro SkBuilder (52 sec)

2. Pony Tail Single Chain Setup (5:25 mins)

2.1 – Build Orient PTail (1:30 mins)
2.2 – PTail Controls (2:21 mins)
2.3 – Skin PTail (27 sec)
2.4 – Create Reparent Grp (1:07 mins)

3. Horn Mirrored Joints (6:01 mins)

3.1 – Horn Joints (2:27 mins)
3.2 – Mirror Controls (1:56 mins)
3.3 – Switch Control Shapes (1:38 mins)

4. Belt Setup And Orientation (7:37 mins)

4.1 – Belt Intro (1:04 mins)
4.2 – Belt Joint Orient (2:47 mins)
4.3 – Name Belt Joints (35 sec)
4.4 – Mirror Belt Orient (2:07 mins)
4.5 – Belt Controls (1:04 mins)

5. Belt Follicle Setup (11 mins)

5.1 – Follicles Explained (1:08 mins)
5.2 – Follicles Belt (1:10 mins)
5.3 – Mirror Follicles (1:34 mins)
5.4 – Parent Belt Cntrls (1:20 mins)
5.5 – Name Follicles (53 sec)
5.6 – Belt Folli Cnst (2:54 mins)
5.7 – Belt Clean Outliner (44 sec)
5.8 – Match Skele Issues (53 sec)
5.9 – Belt Finish (46 sec)

6. Pony Tail Manual Constraint Setup (4:04 mins)

6.1 – Constraint Intro (48 sec)
6.2 – Manual Constraint (2:42 mins)
6.3 – Unbuild Constraints (34 sec)

7. Zoo Tools Space Switch Setup (6:13 mins)

7.1 – Space Switch Setup (2:28 mins)
7.2 – Orient Space Sw (1:36 mins)
7.3 – Test Rig (1:12 mins)
7.4 – Constraint Summary (57 sec)

8. Pose Symmetry Explained (10 mins)

8.1 – Setup Pair Mirror (1:15 mins)
8.2 – Mirror Plane Setup (2:39 mins)
8.3 – World Space Mirror (36 sec)
8.4 – Pair Chain Setup (1:05 mins)
8.5 – Sel Order Importance (2:25 mins)
8.6 – Mirroring Pair Chains (2:13 mins)

9. Single Chain Pose Symmetry (4:53 mins)

9.1 – Single Scene Setup (59 sec)
9.2 – Single Relationship Create (1:24 mins)
9.3 – Extra Information (2:30 mins)

10. Custom Control Pose Symmetry (6:40 mins)

10.1 – Custom Setup Pairs (52 sec)
10.2 – Mirror Plane Setup (50 sec)
10.3 – Pony Tail Fix (1:53 mins)
10.4 – Selection Order (51 sec)
10.5 – Belt Fix (1:18 mins)
10.6 – Full Character Mirror (56 sec)

11. Zoo Selection Set Workflow (5:35 mins)

11.1 – Select Set Create (2:02 mins)
11.2 – Zoo Select Sets (1:31 mins)
11.3 – Sets With Rig (2:02 mins)

12. Rebuilding Custom Attrs And Connections (13 mins)

12.1 – Connection Intro (3:10 mins)
12.2 – Add Atrtributes (1:33 mins)
12.3 – Connect Vis (1:51 mins)
12.4 – Batch Connect Attr (1:40 mins)
12.5 – Attr To Rig (3:02 mins)
12.6 – Finalising Rig (2:20 mins)

13. Rigging And Customising Zanzi Timelapse (16 mins)

13.1 – Zanzi Example Timelapse (16 mins)
Subscribe now! Cancel Anytime, Keep Tools and Assets Forever!


  1. washunaback
    September 16, 2017 at 9:07 am ·

    Hi, is there a way to reset the pose with ZooTools?

    • Andrew Silke
      September 16, 2017 at 1:39 pm ·

      The cleanest way with the custom controls is to

      1. Toggle the skinning off (if already skinned)
      2. Reparent the custom joints, (remove the groups) and delete the curve shapes.
      3. Move and reorient the joints
      4. Recreate the groups and curve controls with the CCntl tool.

      Step 2 and 3, a hacky way would be just to move the groups (not the joints/curves). That’d be ok too not as clean but ok.

      I’d love to have a button for this, as well as for mirroring already grouped joints, but not yet at this stage. The new rigging system will automate all of this.

      • Andrew Silke
        September 16, 2017 at 5:02 pm ·

        Or if you just want to reset to zeroed default attribute values, that’s just ctrl shift alt and s.

        • washunaback
          September 17, 2017 at 2:39 pm ·

          Can I just click and drag, select all the curve controls and then press ctrl shift alt S?

          Not a reset bind pose, but it could be a placeholder until you have a proper reset bind pose.

        • washunaback
          September 17, 2017 at 3:49 pm ·

          There are two control curves that the hotkey CTRL Shift Alt S doesn’t works :

          headContro and hipsControl. Every other one works though.

          If you use Reset Transformations on some curves, it messes up the mesh.

          • Andrew Silke
            September 17, 2017 at 11:44 pm ·

            Well spotted Washunaback, yes looks like that’s a bug in the latest prefs.

            The problem is that all the attributes are set to non-keyable on the head and the hips. Very strange.

            To fix select all the attributes on those controls and Right click and “make selected keyable”. They shouldn’t be like that, I’ll fix that and rush out a new version shortly. ta!

            All reset transformations does is reset the attributes to Maya defaults, much like
            Modify > Reset Transformations
            so it’s not doing anything fancy. The difference on the hotkey is that is will work on selected attributes in the channel box. And it’ll also affect custom attributes too.

            To select all controls on the rig a better way is to use the “u” selection set marking menu and go to “all”. I talk about this in detail on the Pose Anim Workflow page. Thanks for pointing out that bug!

            I probably won’t put a reset to bind pose in this version of the rig since the select set marking menu > all and ctrl shift s will do the job in the short term. This is how I do it in the demos and should work 100%. The newer rigging system will probably have these sorts of buttons in a UI.

  2. washunaback
    September 18, 2017 at 4:48 am ·

    Oh yeah great idea with the “U” shortcut, will do that.

    By the way, I found a new bug :

    # Error: zoo : Failed to execute MenuCommand(u’proxySignCurve’, ‘_menu_triggers[6]’, Trigger(u’proxySignCurve’))
    Traceback (most recent call last):

    This error happens whenever I toggle the rig on or off. I followed all the instructions on how to use the Zoo Proxy rig file. Maya is updated in latest version of 2017.

    I did all the correct steps, checked if the joints are being selected correctly before skinning, etc. Removed Name editors and parented them to root.

    Basically, with me it’s the arms IK controls that aren’t appearing anymore on me.

    Also, whenever I try to match the WC curve controls I get this message :

    # Error: zoo : Failed to execute MenuCommand(u’proxySignRigCurve’, ‘_menu_triggers[2]’, Trigger(u’proxySignRigCurve’))
    Traceback (most recent call last)

    • washunaback
      September 18, 2017 at 6:41 am ·

      Update : when dealing with the Name Space editor with the NatLor mesh, instead of deleting and merging with root, I merged with the parents.

      So far, no problem. It could be that the bug happens just sometimes.

      • washunaback
        September 18, 2017 at 8:58 am ·

        And yet another update : the neckControl curve isn’t being keyable either.

        Same problem with the others.

        • Andrew Silke
          September 18, 2017 at 10:21 am ·

          Yes the neck will be fixed as well, the error you’re getting is probably because it’s loading the fk arms by default.

          For the missing IK you just need to switch on the ik on see video 1.2 here, always check the Skeleton Builder UI now. Needs to be check each time you build.

          I’d like to fix this also so you don’t have to worry, but it’s difficult for us to solve and all our efforts are on the new rigger. So it’s a work around from Hamishes old system. Should be fine.

          Let me know if you still get the delete error after doing that, my guess is it’s related.

          • washunaback
            September 19, 2017 at 5:15 am ·

            Yeah it worked! Confirmed for awesome rig, lad.

            But just a note : I think it’s a random bug. Sometimes it switches to IKFK, other times it’s just FK and the controls “vanish” once toggling the rig on and replacing the WC controls.

            Thanks a lot.

          • Andrew Silke
            September 19, 2017 at 10:06 am ·

            cheers washunaback glad it worked. Yes the ik/fk is a little random, so just be sure to open the skeleton builder window every time and check it before you build.

            The new rigging system won’t be like this, all our attention is there right now, so this annoying workflow won’t be changed in the short term unfortunately. Thanks!

  3. Toby Leung
    September 20, 2017 at 12:21 am ·

    Hi Andrew, I hope it’s okay if ask a ‘Drag and drop eye rig’ question in here, ’cause I couldn’t see the comment section on that page.

    I was following video 1.2, and at the very end I think you parent constraint (maintain offset) the ‘eyes_parentTo_MoveAll_grp’ to the move all control, and ‘eyeRig_parentTo_Head_grp’ to the neck joint. However I couldn’t seem to do it. I parented those two correspondingly but when I move the head controller the eye rig doesn’t follow. I’m not sure if I missed something in the video… would you have a solution to that?Cheers Andrew.

    • Andrew Silke
      September 20, 2017 at 12:25 pm ·

      Hi Toby, yes the drag and drop page is old and unsupported. Though the trick there is don’t constrain it anymore, that was the old way I was doing it. Now just parent it to a reparent node and parent it straight into the rig. That should work fine. So straight parent (using the reparent nodes always in zoo biped proxy) instead of the constraints.

  4. ojkoorde
    October 10, 2017 at 5:52 pm ·

    Either I do not know where or I cannot find the model you are using. Then only one I found does not have pony tail nor belt.

    • Andrew Silke
      October 10, 2017 at 10:01 pm ·

      Hi ojkoorde, I’ll look into this. I’ve had a couple of big days give me a bit.

    • Andrew Silke
      November 3, 2017 at 9:27 pm ·

      Hi Artur. Apologies for the delay. You can now download the files for this page. See the top of the page and downloads section on the right.

  5. ojkoorde
    October 14, 2017 at 1:28 am ·

    Can you give some explanation on why do you create these ‘reparenting nodes’ in movie 2.4. In movie 2.2 (time 2:12) it can be seen that ponytail is bound to head/neck using parent constraint. I do not get what this reparenting is for and why (apart from what you said that zoo will not work without it). What’s the idea behind it and why not stay with constraint?

    • Andrew Silke
      October 15, 2017 at 11:00 am ·

      Yes constraints are slower than direct parenting, they can also have scale issues too, it’s more complicated. Direct parenting is by far the cleanest method for simple fk chains. If you want space switching you can always put it on top as per the ponytail space switcher and it matters little that it’s been parented first.

      With direct parenting, you also get the advantage of being games compatible as the skeleton is in a single hierarchy. So that’s a big one here.

      There are a lot of riggers who constrain everything in their rigs. I have done that too in the past, but it has downsides too along with being difficult to visualize what drives what. It’s usually a rigger preference to use constraints and depends on the tools you’re using, there are some epic threads about this with no clear winners, so it depends. Our new system using more constraint like setups simply because it’s easier in the way it’s been coded on the backend and the component (modular) design.

  6. icrdr2010
    November 9, 2017 at 5:36 pm ·

    Hi Andrew, I have encountered a bug that I could not open “setup space switching” window in maya2018/2017 (window10).

    maya also showed this error message:
    # Error: AttributeError: file G:/Documents/maya/2017/scripts/create3dcharacters/zooToolsPro\zoo\apps\toolDefinitions.py line 146: ‘SpaceSwitching’ object has no attribute ‘run’ #.

    So I edited the “toolDefinitions.py”, changed the code from “self.tool.run(dockable=True, floating=False, area=”right”)” to “self.tool.show(dockable=True, floating=False, area=”right”)” according to the execute code of other tool, and it fixed.

    I posted this to help anyone who met with the same problem and hope to get more formal solution.

    • Andrew Silke
      November 9, 2017 at 5:54 pm ·

      Yes indeed, I’ve checked that and I can reproduce that. It’s now fixed and will be in the next release. Zoo Tools 1.2.12 and onwards Should be within the next few days. Well found.

  7. skyrimland
    March 26, 2018 at 4:00 am ·

    What a pity, so much potential, highly trained instructors, even very functional plugins.
    And then you get lost on the simplest thing.
    Create a training course that shows from A to Z how to use your tools, how to use your tool to create a good rig… it’s all fragmented.
    It seems almost more a style exercise, than a course.

    • Andrew Silke
      March 26, 2018 at 11:06 am ·

      Hi Skyrimland, what do you mean by “lost on the simplest thing”?

      We are rebuilding our autorigging tools from scratch, and there won’t be any new tutorials for the Zoo Proxy Biped. The custom controls will be part of the autorigger and completely modular in the future.

      I’m still teaching this method of rigging to our students while we upgrade our tools and am having a lot of positive feedback. Still there is much that can be improved, any extra feedback we’ll take it on board for the new rigger, thanks!

  8. Tumen-Erdene Altangadas
    April 25, 2018 at 7:47 pm ·

    Thanks so much Andrew!
    Love your tutorials! Quick, fast, easy to understand.

    Cant imagine im working in Maya without your preferences. they are very useful, exactly what i was looking for.

    been watching them for almost a year now. Great stuff for this price! 🙂
    Highly recommendable for first starters.

    • Andrew Silke
      April 25, 2018 at 9:40 pm ·

      Rockin cheers Tumen-Erdene! We are working really hard on the new content and tools too.

  9. kaihaan
    June 18, 2018 at 1:17 am ·

    Hello – trying to replicate what you are doing from 8.1 around mirroring – but don’t know how to get your ‘spaceSwitchingWorld’ locator node into the scene?

    • Andrew Silke
      June 21, 2018 at 5:06 pm ·

      Hi Kaihaan, ignore the ‘spaceSwitchingWorld’ locator node, it’s not needed in those videos, I must have forgotten it was there. If you want to build it it’s just a locator that I named and then hid the visibility on. That section should not need that node.

  10. ctho1208
    February 11, 2019 at 7:14 pm ·

    Hello, how did you add an extra arms to the rig in video 13, I couldn’t find the tutorial which covers it.

    • Andrew Silke
      February 12, 2019 at 11:09 am ·

      Hi Ho Cheng Ting, the extra arms were created inside of the skeleton builder UI. You can see a little bit of that in video 2.4 here

      But we’re only supporting the biped proxy with two arms for now. After creating Zanzi it all got a little hard to manage so we’ve started again on a completely new autorigger that is properly modular. I’m hoping to release a sneak peek of Hive the new rigger next week if all goes well.

Leave a reply