[MAYA] Autorig user input approach

Hi!
I´m under the way of developing an autorig ( Yes another bloody guy asking about autorigs hehehe ), and I was questioning myself If I should let the artist to create the bones and then autorig that bones, or should I create the joints in runtime based from a scene locators (or some kind of visual representation for the joint placement) ?

Going for the first one (artist place the joints), it gives more room for errors
Going for the locators one will be harder ( at least for me ) to setup some kind of pseudo skeleton and create and orient the joints.

Any ideas?
Thank you so much in advice guys ^_^!!

Its a tricky one. I have written a couple of modular rigging tools and taken both approaches and I am still very much sat on the fence.

Using the skeleton gives the rigger precise control over the bone placement and orientation which is important, though it also means you’re code which is building a rig over the top of it has to be far more robust. Another huge benefit is that any meshes that may be skinned to the skeleton can be completely ignored from the rig building process (potentially) - making your life much easier when writing the tool. You start to pay a price when you want to add in guide-like functionality though as you need to start storing those nodes/data somewhere and doing that in the skeletal hierarchy is a bad idea as it should be kept as clean as possible.

Taking the approach of having a completely separate guide/blueprint/template means that you can treat your guide like you treat your rig - meaning you can go a step further in helping the user with automated placements etc. It also makes it easier to deal with components such as IK Splines whereby you ideally want the user to place the curve points and visualise the joint positions rather than have the user manipulate the joints directly.

Given that this is your first shot I would just use the skeleton as the guide. It will simplify the process and nobody will complain. When doing it again, I believe I would take the approach of using the skeleton as a guide, but ensure that each skeletal component can be represented/controlled by a helper structure when in an ‘editable’ state. That way you get the best of both worlds.

1 Like