MGear beta 1
Here is a first Beta of my current opensource project MGear.
MGear is the adaptation in Autodesk Maya™ of the modular rigging system I developped for Autodesk Softimage™ named Gear.
>> Download MGear Beta 1
MGear 0.1 inside Maya 2011
Gear 1.1 inside Softimage 2012
The goals of this project were multiple. First, I wanted to go back to Maya, it's been 7 years I haven't opened it and I definitely needed to refresh my mind. The good thing is that Maya hasn't changed so much since version 5 (The last version I used) :-) I wanted proove myself I can transpose all my technical knowledge from one software to another : succeded !
Then, I wanted to test if the concept I have built and designed for Softimage were usable on Maya. Again the answer is 'Yes' !
One important thing in the Gear's design is that it relies mainly on custom solvers. That means I'm not using so many Softimage built-in tools (such as constraints). We only need Nulls or Locators in a 3D space and all the math art that defines the way they move is in those solvers. So theoritically we should be able to implement Gear on any 3D application that offers the possibility to write your own solvers. And that's the case with Maya !
The first task, to convert Gear to Maya, was to translate all the 'home-made' solvers from Softimage Custom Operators (aka SCOP) to Maya Node.
You can find some detailled explaination on how to create custom Maya Node on Chad Vernon's pages. Have a look also the Rich Masemann old website, RobTheBloke or for the french speakers Dorian Fevrier's blog.
Coming from Softimage, the first big advantage I found with Maya is its huge community. It is very simple to google-ize a question. There is tons of examples, tutorials and people ready to help.
Maya and Softimage are very similar application on many levels. I still had to adapt and tweek a couple of things to make it work, but if you compare the code from Gear to the one of MGear, you will probably be surprized how similar they are. I really copy pasted huge chunk of code without making any changes. The cores of gear and mgear are the same, it is the same concept, the same algorithm and... the same resulting rig !
I have to admit it's not yet 100% exactly the same rig. It's more like 95% but I really work to keep the same behavior in both version, and honnestly it is really almost there.
There is two reasons why there is still difference : 'constraints' and 'parenting'.
Even if they have the same name or very similar uses, constraint in Softimage and Maya doesn't behave the same way. In Softimage if I'm using a Pose constraint, I can't assume it will work with a Parent constraint in Maya. Same with Orientation vs Rotation constraints or Direction vs Aim constraints. But again, hopefully Gear doesn't rely on many constraints... and the work around is easy.
The other problem is much more difficult to solve. It deals with Scaling and Shear issue.
Maya is based on classic parenting which is just a simple matrix multiplication. With this method when you have non-uniform scaling plus rotation, you result with some shearing in your hierarchy... That is sometimes really useful, but sometimes highly un-desirable.
On the other side, Softimage uses per default another algorithm for parenting, which is called 'hierarchy scaling' and that remove any shear value.
To get more information about the way Softimage deals with parenting and the difference between classic and hierarchy scaling, you can read a detailled article on Michael Isner's website.
Otherwise the rigs are identical. From name to behavior. And As you we'll see I was able to reproduce the same rig in both software.
Ok, let's see how to install MGear on your machine.
- Maya 2011 or above
- Visual Studio 2010 (only if you need to rebuilld the solvers)
- PyQt and Qt Designer (only if you want to edit the synoptic view)
b. Do you have everything ?
Inside the mgear_beta1.zip archive you should 3 folders :
- plugins : The .mll compiled Maya Nodes (only available for windows 32 and 64) and the Python equivalents
- pythonlibs : The python libraries
- samples : The scene samples
- sources : The source of the the .mll
c. Installing the plugins
Inside the plugin folder there is two more folders
It is because there is two versions of the nodes available one in Python and one in C++.
Those are the same nodes and you should NOT install both !
So how to choose your version ?
Well, unfortunately the C++ version is only available for win 32bits and 64bits (thanks to Cosku Ozdemir for the 64bits version). If you're a linux or a mac user, you can either compiled it yourself (sources are included) or use the Python version.
The C++ version is MUCH FASTER than the Python one. I only used the Python version for prototyping the solvers before translating them to C++. If you were to write your own node one day, I strongly recommand to write them in C++. There is no comparaison in term of performance.
On my poor laptop, the rig with Python solvers was running at 12fps when I was easily reaching 50fps with the C++ version.
So, to install the plugins just copy the content of the mll folder OR the python folder to your maya user script folder
ie on windows :
d. Installing the Python libraries
You will need to install MGear’s Python libraries in order to be able to build rig or open the synoptic view.
There is many ways to do that but here is one that I think is the easiest. You add the path to your
modules to the PYTHONPATH environment variable.
The following explanation is for Windows. I assume that Linux users have some sufficient technical
knowledge to understand how to install Python Libraries.
On Windows, go the the System Properties panel, click the Environment Variables button and add to
the variable PYTHONPATH (or create it if it doesn't exist yet), the path to the modules folder. Use semicolon
';' to separate the different paths if you have more than one.
Sometimes changing an environment variable might require to reboot your machine.
Then start Maya and type in a Python tab of the script editor the following code :
If you got no error and the log is showing the version of gear. You're good to go !
Opening the scene samples and building the rig
Inside the bungeMan_001.ma scene you should find 3 groups.
- bungeeMan_geo : obviously the character geometry
- bungeeMan_guide : The rig guide, useful to build another biped rig
- bungeeMan : The resulting rig
To build the rig again, just select the guide and run the code :
To open the synoptic view :
For those interested here is the Softimage scene with the same character. (of course you need to install Gear to open it)
Gear vs MGear
I didn't have time yet to create tutorial videos about MGear but because it's using the same algorithm as Gear you can have a look at the videos I did for the Softimage version. I would recommand watching the 'Gear quick overview' and 'Biped rig feature' videos.
Just a quick review of the difference between the two systems :
- Gear is not only a a rigging system but many tools to ease the rigging and animation process.
- MGear is just a rigging system with a synoptic view.
- Gear is based on open source rig solvers.
- MGear too ! but I only translated the solvers needed in the biped rig right now :)
- Gear is modular and you can build any type of character with it.
- MGear is modular too, except that I haven't implemented the tools to create new guide and connect modules together... so right now you can either do it manually (painfull and open to a lot of mistakes) or only build biped.
- Gear has rig components to build dog leg, fake dynamic chain and much more ...
- MGear only got the component used a the biped rig.
- Gear can reapply envelope (aka skinCluster) saved as xml.
- MGear cannot but I did some script to save the skinCluster weight values to xml. Not yet available though.
- Gear is production ready and has been tested and used by animators and riggers around the world.
- MGear is still in development and I don't recommend using it for professional work yet.
In term of performance, I haven't done so much testing and I have to admit I didn't take the time to properly optimize Gear in the first place. So I'm pretty sure we can get better and more accurate result but just for your notice :
The same biped rig in Softimage runs at 20fps when it easily reach 50fps in Maya. I'm not so happy with that but yes, Maya is clearly faster than Softimage with this rig. :-)
Many thanks to the people from TeamTo who let me work amoung them, use their computers and ask stupid questions. Special thanks to Caroline Souris, Guillaume Hellouin, Laurence, Julien and Christophe.
On Wednesday, July 13 2011, 14:06 by Mario Reitbauer
Impressive how fast you were able to rebuild this system in maya.
On Wednesday, July 13 2011, 19:05 by Jeremie
Yep that wasn't that hard actually, even if it's still wip. Around 1 month to learn Maya, pyMel and the API, implement and translate everything from Soft to Maya... and here it is
On Thursday, July 14 2011, 06:42 by sunny
do you have link to sample rig created by MGears. im on 64bit so i am not able to get my hands on :(
On Thursday, July 14 2011, 09:19 by Cosku Ozdemir
<p>Here's a 2012_x64 compile:<br />
On Thursday, July 14 2011, 09:20 by Cosku Ozdemir
<a href="http://www.robotika.com.tr/opensour..." title="http://www.robotika.com.tr/opensour...">http://www.robotika.com.tr/opensour...
Wow that comment got messed up.
On Thursday, July 14 2011, 10:49 by Llorenç Borràs
Here's a 2012_x64 compile:
Hey Jeremie !!!! congratulations man, I'm really happy to see you continue working on Maya version, I was waiting for it. We will talk about when you come to Barcelona, I have some ideas to share with you maybe they can help you, about how to safe weights, etc. And yes I'm waiting for x-64 version too.
On Thursday, July 14 2011, 19:32 by Jeremie
<p>Thanks Cosku for the 64bits version. I'll add it to the archive when I'll be home ;-)<br />
On Monday, July 18 2011, 09:13 by Dorian
Llorrenc, I'll be in Barcelona end of next week ! see you soon !</p>
<p>Thank for quote my blog. :) (There is some tutorials wich are translated in english but I have to translate more...)</p>
On Monday, July 18 2011, 10:58 by Iker J. de los Mozos
That was a smart move, Jeremie! Thanks for sharing all this stuff with us. I've been playing with the GEAR rig and it's solid as a rock. And the tools you include are awesome too.
On Monday, July 18 2011, 17:20 by Mahmoud
<p>Will be a max version ? just checking.</p>
On Thursday, July 21 2011, 17:22 by Jeremie
Dorian > Thanks for making theses tutorials !
Iker > Thanks ! We'll try to make it as good in Maya. Still a lot to do though !
Mahmoud > No Max version planned... If I can stay away from this software I will ;-)
There is something wrong with the comments displaying html tag... sorry about that. I'll fix that when I'm back home.
On Saturday, August 6 2011, 19:49 by juan correa
very good work jeremie.
i am currently working with gear in a production and so far animators are pretty happy. will keep you posted and show you the result. as much as i love rigging this makes my life a lot simpler.
i am also working in maya in other projects and this is more than good news.
On Sunday, August 7 2011, 11:38 by farhaad
On Monday, August 8 2011, 18:25 by Jeremie
and thanks a lot for fantastic tool .
i'm currently developing a pipeline and workflow for a local tv movie animation,in softimage and i mentioned gear for rigging, but is there any facial option to be released any soon.?! coz i have to come up with some solution in the facial animation part too,and it would be splendid if Gear supports that part .
juan > Great I love to see work done with my tools !
farhaad > No idea yet... I haven't started working on it but it's still plan. I need freetime, and I don't have a minute right now.
On Thursday, August 25 2011, 17:43 by zapan669
Vraiment vraiment tres impressionnant.
On Friday, September 2 2011, 08:21 by Chris Dardis
Pourquoi ne pas l'avoir vendu chez Autodesk ?
Great work Jeremie! Just trying to have a look, but am getting a plugin load error
// Error: line 1: Unable to dynamically load : C:/Program Files/Autodesk/Maya2011/bin/plug-ins/mgear_rigSolvers.mll
The specified module could not be found.
I have tried putting it in the user scripts folder too (as suggested above), but no joy. It shows up in the plugin list, just can't load. The py libraries seems to be installed correctly though. (win 32)
Thanks for making this open source, that's awesome!
On Monday, September 19 2011, 21:44 by Scabyx
My Problem is too , as mentioned above. I put everything in the right place, the plugin in to all possible locations, and nothing loads. Pls help. I am using Gear in XSI and in the maya pipeline in the future, i hope. Thx btw.
On Tuesday, September 27 2011, 18:18 by Jeremie
Chris > What version of Maya do you use ? It only works with Maya 2011 right now.
Scabyx > Same question then, make sure you use Maya 2011.
On Wednesday, September 28 2011, 15:59 by Mario
And just to warn you again, this Maya version is not production ready yet. The Softimage version is already largely used in production over the world, but this Maya version is just a very first beta... I do not recommend it for production.
Just wanted to report a bug.
It's about plotting tails.
If you use more then one tail in your rig plotting doesn't work anymore. In my example I have 2 tails for my ears, one normal tail, 2 for wings.
It doesn't matter which tail I try to plot, it's allways the left ear which is being plotted.
Maybe you have the time to take a look at this.
On Wednesday, November 2 2011, 18:06 by Scabyx
Thanks for your reply, i will give it a try. I dont wanna use it for production. Only wanna try it out. The XSI version is amazing, keep up buddy.
On Wednesday, November 30 2011, 08:24 by Amin
On Sunday, December 4 2011, 21:51 by sep
Please Update Gaer 1.1 For XSI
Exp : Gear 2.0 ????
wow mate - i am a maya animator - gear looks amazing - i will buy this thing right away when it comes out. and i think there will be many like me
On Tuesday, December 13 2011, 15:42 by Jeremie
Amin > Gear 2.0 is on its way... no release date... but I'm seriously working on it now.
Sep > Well, be even more amazed as the price will be $0. This is a free open source project. There will be a donation system though but for charity not for me.
On Wednesday, January 11 2012, 16:06 by Miguel
Thanks a lot Jeremie. I'm going to try this out in the next days when I have enough time.
On Sunday, January 29 2012, 19:28 by Jeremie
Have you made any progress since this version? Are you working on Gear 2.0 and MGear 2.0 at the same time?
Can't wait to see it in a production state :)
Hey Miguel !
The priority is Gear 2.0 for Softimage right now.
I'd like to keep developing MGear too, but nothing should happen before mid-2012 at best.
On Wednesday, June 13 2012, 22:53 by farhaad
my biggest anticipation is Gear 2 :D
On Friday, June 29 2012, 16:26 by Cesar
Hey Jeremie, I love the rig setup. I work both in Xsi and Maya and it's awesome to have one rig setup that's similar in both packages. I am having a bug though...I cannot open the synoptic window in Maya, when I run the script I get the error (# Error: ImportError: No module named sip # ) do you know anything about this?
On Monday, July 23 2012, 21:16 by Denis
Other than that, I am running Maya 2012 and I couldn't get the scene to open properly as it wasn't ready the .mll file, so instead of putting it in the MyDocument\Maya folder, I placed the files in the ProgramFiles/Maya directory and it works fine...
Hi Jeremy ! I'm using GEAR in XSI for iphone game in studio, it's a great tool! Than you for your work and can't wait to see GEAR 2.0 for XSI !