Tutorial: Creating the 360 degree Twist Extractor

Tutorial: Creating the 360 degree Twist Extractor

Important note:
This setup isn’t really as stable as I first thought it to be, so you should probably stick with the 180 degree setup if you want to be sure not to get any problems. Cedric Bazillou first pointet out that you really can’t go beyond 180 degrees (trigonometry limit of angle between vectors) using only math, and the “hack” in my tutorial relies on maya’s cache/history in the orientConstraint-node in an attempt to resolve the angle past 180 degrees. The setup looks okay when scrubbing through the timeslider, but it won’t be able to resolve angles past 180 degrees if you jump between frames. The reason I haven’t removed this post is simply that the setup also shows how to setup a normal twist extractor, though the 360 part should be ignored. In the comment section of the video link you can read a comment made by Oyvind on how to actually trigger the problem with this setup.


The tutorial:
I forgot to mention in the video, but if you’re using translate-based stretch in your rig, you must have offset-groups on the twistextractors, which you connect the translate of your driverjoints to.

4,708 total views, 4 views today


  1. Hello Jorn-Harald,
    Great tutorial! I was wondering how one might use this technique for the wrist? Also, I was able to setup the twist extraction for the shoulder, but I do get some flips when I use the value, divide it by 2, and plug it into my single upper arm twist joint. Is this a bad practice? How should I use the extraction value for twist joints? Thank you so much for your time. Greatly appreciated.


    • Jorn says:

      Sorry about the late reply, this has slipped through my radar. I’m sure you’ve figured it out by now, but yeah it works great for the wrists also 🙂 As for the problem you were having, I would have to look at the file to tell what the problem is.

  2. Sune says:


    Thanks for sharing! I’ve been using a setup like this for a long time (minus with 360 trick) and in my experience it works great both in Max, Maya and MotionBuilder.

    As far as getting the same results with an aimConstraint, I have not been able to get that to work nearly as stable as the IK setup. If you could post an example of a setup, that would be great to see.


    • Jorn says:

      Hey Sune, I actually found the same as you. It looked like it worked pretty stable at first sight, but after testing some more I found that it wasn’t nearly as stable as the IK-setup. I don’t know if Harry has some tricks up his sleeve for this, but this issue might be the case for Harry also, it’s just that it’s hard to spot some times.

      Cheers 🙂

  3. Bogdan says:

    Hey Jørn,

    Really liked the idea of a 360 twist so i’ve tried to implement it in an actual FK/IK/BND arm , but its not working properly. The twist joints are flipping . By any chance could you upload your test file, the arm you show at the start of the video ?
    Here is my file: http://bit.ly/2qCvSw5 . Yu can see that once FX joint is hittin 90 degress, the twist joints are flipping. If i did it wrong, cant figure it at the moment where the mistake is .

Leave a Reply

Your email address will not be published. Required fields are marked *