tech python maya

BroRig Update 00

2016-05-15

So, I decided to write my own little auto rigging tool for myself.

I'm not sure why I even do this, lets say for usual things:

  • Fun
  • Practice
  • Better understanding of rigging

Yeah, this sounds about right to me. Goal is: Create my own rigging tool, aimed primarily at joint-based rigs for game dev and cinematics, but extencible enough to be adapted to anything else, with main focus on making rigs produced by it as animation-friendly as possible. Should also be possible to rebuild rigs, hopefully will be able to automate and create presets for characters. It should operate based on the existing skeleton. And, of course, I'm doing it to rig some characters quickly, and start animating them! I also have a few particular fun ideas and techniques I'd like to implement and use while animating. And for that I will also create tools, which include:

  • Replacing curve controls with invisible mesh controls, overlaying the original mesh. So there are no visual controls, and animator\me can click directly on mesh to select animatable part, Pixar's Presto-style.
  • The whole tool should work around the existing skeleton, allowing me to take any model with a skeleton and rig it in a matter of a few hours or even minutes.
  • Automatic IK-FK switching, happening at the moment animator selects FK or IK control. Probably through scriptJobs. Since there are no visual nurbs controls to distract an animator, there is no need to hide those when switching too.
  • Fully scalable rig. Since it is mostly meant for gamedev and purely joint based, there won't be any complex things, so it should be easier to make it fully scalable.

But I still wonder, why not just use AdvancedSkeleton? Hmm.. Well, I think I'll still use it for any commercial work, while polishing and testing my rigging tools in my personal practice works. And since I'm trying to write scripts with modular aka OOP approach in mind, I'll try to make as much of it complatible with AS and other auto-riggers as possible. So, steps are, not in order:

  • Create functions to work with basic rig hierarchy
  • Create IK-FK rigger, stretchy\squashy. Arms
  • Use IK-FK rigger as a base and adapt it to rig legs
  • Spine, FK, IK, Stretch and squash. Basic for now, don't want to go too crazy with ribbons and 100500-degree twisting... With modular approach it can be added later, if needed.
  • Simple FK rigger, to rig just FK joints, like fingers, tails, etc.
  • Thanks to my BroDynamics tool, i don't need to actually build any dynamics into rigs! Yay!
  • Create a tool, which will allow to easily replace any FK curve control with a mesh, and set it up using this or better this technique. Thanks, Jason for showing how to do it. Make it compatible with AdvancedSkeleton.
  • Create a tool, which will allow to quickly add all required scriptJobs for IK-FK switching. Make it compatible with AdvancedSkeleton.

Okay, wish me luck, and here is the first working thing, basic IK-FK setup. In next update will add stretching and pole vector, and wrist rotation to IK control.