Here’s a rig I’ve been working on for the past few weeks. It’s a character called “Solomon”. He’s a space gangster, designed and modeled by fellow SJSU Animation student Daniel Wilkes to fit into a Mass Effect 3 style game.
He’s a pretty low poly (meant for games) character but rigging and skinning him was quite a pleasure. I love Daniel’s design and his edgeflow was pretty nice too.
The majority of the body rig was hacked together using autorig scripts I’ve developed for school projects. While I wasn’t able to run it all at once, a fault of my script as it has certain requirements (5 fingers…) I was able to use most of it. Something I found early on was to make sure I had my joints oriented cleanly BEFORE running the script. You don’t want to mess with joint orients and rotation axes after things have been skinned. The wrist/forearm area is usually the place that gives me the most trouble.
So after making each part and connecting them all, I moved on to the face. Now, while having done a lot of research, I’ve never actually rigged a face so this was a new challenge. I chose to mainly use wire deformers and clusters on a separate mesh that served as a blenshape to my skinned mesh. This was a quick but not very art-directed solution as I wasn’t (for an unknown reason) able to successfully make corrective blendshapes using both Chad Vernon’s shape inverter script and the classic BSpiritCorrectivrShape script.. not sure why yet. Because of that, I might go back later and redo this as a totally blend-shape approach. I could use the wires as a basis for my blendshapes, sculpt those, mand make those blendshape targets for the final mesh.
Another thing to note is that Maya really slows down when you have multiple wire deformers affecting the same vertex. If it was noticeable on such a low poly rig, I can only imagine what it would be like on a high poly asset. The only solution I was able to research is to have multiple meshes with only a single wire on them that serve as blendshapes to a master wire mesh that then feeds as a single blenshape into your skinned mesh. This is a fast but memory-intensive solution.
The benefit, however, of using clusters and wires on the face is that it is much easier to make the face feel “connected”. That and the fact that they really seem to suit eyebrows, mouths, and eyelids. Note that the clusters that drive these are driven by direct connections by the controllers. Therefore, the SDK groups you have in the clusters have to be over the cluster and not the controller.
The props were fun to rig to. Mostly they were clusters, but the “follow” attributes on them were fun to do. For instance, the gun can switch between following the world, the characters back, or the character’s right hand depending on the context. The cigarette can follow either hand, the word, or the character’s jaw. The jaw follow on the cigarette is a little weird since it’s not perfectly 1:1, but I think that’s something I could fix with a follicle. The cigarette also has a “crush” blendshape that I think is fun 🙂
Overall, I’m very proud of this rig. I’ll likely revisit the model in the future and rig it because I think I could do it better, especially in the face and wrist area.